Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。其功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
2.1、手动部署
每次都要经过检出(或拉取)最新代码,然后本地打包,再上传war包到服务器然后再进行部署
2.2、自动化部署
可实现开发人员只需推送代码,打包还有部署都是由jenkins自动化进行打包部署
我的jenkins,tomcat都是安装在本地windows环境,git远程仓库在虚拟机centos6.5环境上
centos搭建git远程仓库可参考资料https://blog.csdn.net/weixin_42765596/article/details/103920079
下载地址:https://jenkins.io/,直接下载war包即可
启动:粘贴war包到tomcat的webapps目录下启动tomcat即可
5.1 jenkins启动后,浏览器访问http://IP:8080/jenkins,输入初始密码(根据下图红框找到你安装的对应位置进行复制)
5.2 安装推荐的插件
5.3创建第一个用户
5.4 配置jenkins必要插件
5.4.1 Deploy to container插件用于把打包的应用发布到远程服务器
5.4.2 Publish Over SSH用于连接远程服务器
5.5 配置Configure Global Security
设置允许用户注册,忘记用户名密码时还可以通过重新注册进行使用,测试环境下设置任何人可以做任何事,方便操作(正式环境慎用)
5.6 配置Global Tool Configuration
5.6.1 配置MAVEN的settings.xml
5.6.2 配置JDK
5.6.3 配置git
5.6.4 配置MAVEN
6.1创建一个新的item
6.2添加git远程仓库以及ssh私钥
git远程仓库搭建可以参考https://blog.csdn.net/weixin_42765596/article/details/103920079
6.3增加构建步骤(即打包war的操作)
6.4测试构建
控制台输出日志显示BUILD SUCCESS说明构建(打包war包)成功
6.5 配置构建后操作(即将构建好的war包部署到tomcat运行)
6.5.1 首先需要配置一下tomcat
找到tomcat下conf下的这三个文件
tomcat-users.xml:增加tomcat_user用户
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat_user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
server.xml:设置utf-8编码(URIEcoding=“UTF-8”)
context.xml:设置任何ip可访问(^.*$)
6.5.2 配置构建后操作
6.6测试构建后操作(即部署到tomcat)
控制台显示BUILD SUCCESS 和Finished:SUCCESS时说明打包并部署成功
访问部署后项目:
至此,jenkins的打包与部署都已配置好,要让jenkins实现自动打包和部署,还需配置git的钩子程序,这样就可以实现开发人员只需推送最新代码到主分支,当推送最新代码时触发钩子程序,钩子程序通知jenkins去自动打包和部署
7.1 关闭防止跨站点请求伪造
7.2构建触发器
7.3编写git钩子程序(通过curl命令触发jenkins自动打包部署)
7.3.1 进入git远程仓库下的hooks目录,创建post-receive文件
7.3.2 编写curl命令
在post-receive文件加入以下curl命令
curl -X post -v -u root:root 10.254.63.162:8080/jenkins/job/tpi/build?token=AUTOGIT_TOKEN
(这里需要注意,post-receive不要在windows环境创建好文件再上传到虚拟机git上,这样在推送代码时会报remote: error: cannot run hooks/post-receive: No such file or directory找不到这个文件,原因是windows下创建的文件与centos创建的文件编码是不一样的)
7.3.3设置文件权限
推送成功后jenkins自动进行了构建
8.3查看控制台
8.4 访问登录页面
https://blog.csdn.net/ming19951224/article/details/80958761
https://blog.csdn.net/GW569453350game/article/details/52328986
https://www.cnblogs.com/guanyf/p/10605987.html
https://www.jianshu.com/p/5f671aca2b5a
https://blog.csdn.net/Shen_Junxiao/article/details/85245390
https://www.cnblogs.com/lbrs/p/11704750.html