一、部署环境
操作系统centos7,jdk版本:java version "1.8.0_181"
jenkins版本:我用的是jenkins2.227.war这个包,官网有得下载
http://mirror.serverion.com/jenkins/war/2.227/jenkins.war
1、安装好maven
[root@m3 jenkins]# yum install maven -y
2、启动jenkins并安装必要的插件
我的启动方式是直接用java -jar jenkins.war & 启动的,这样访问的时候就是默认的8080端口
初始化,安装插件,有的可能网络缓慢装不上,可以根据失败的报错信息找到链接,下载插件,再上传安装更容易成功
这次主要用到这几个插件的下载链接
http://mirror.serverion.com/jenkins/plugins/deploy/1.15/deploy.hpi
http://mirror.serverion.com/jenkins/plugins/maven-plugin/3.6/maven-plugin.hpi
http://ftp-chi.osuosl.org/pub/jenkins/plugins/javadoc/1.5/javadoc.hpi
安装过程就不描述了
二、JENKINS的全局配置
1、项目会用到jdk和maven,先配置这两个的安装路径
2、登陆WEBAPP服务器的凭据
在System Configuration里面配置一个全局登陆的凭据,填上密码或粘上私钥,即id_rsa,再添加远程登陆的主机,在构建后操作的时候调用这个认证来登录,用于重启WEB站点
三、配置并运行JENKINS项目
1、任务的类型
2、war包的构建过程
配置JDK,调用前面配好的
我采用了svn存放java示例代码,这里填入源码存放的svn地址和认证的用户,svn的部署方式可以参照我的这个博文的方式,比较简单
https://blog.csdn.net/lsysafe/article/details/82744981
svn链接的主目录下会有源码和pom.xml文件
配置作业源码管理的svn链接,并添加svn的登陆凭据
3、构建细节:
前面几步的作用就是从svn下载这个目录到jenknis服务器本地,一般下载到启动jenkins用户的宿主目录下
存放至这样的路径 /root/.jenkins/workspace/m1,m1显示就是现在这个jenkins项目的名称
实际上就是在/root/.jenkins/workspace/m1目录下执行mvn package的shell命令生成target目录
[root@m3 m1]# ls
pom.xml src target
target目录会有maven生成的war包
4、构建后的操作
此处就是将war包发布至tomcat服务器的过程
tomcat部份,在WEBAPP服务器上面已经配好了支持通过web上传的方式更新应用
修改conf下tomcat-users.xml这一段
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="密码" roles="tomcat,admin-gui,manager-gui,manager-script,role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
填写上面这个项目的相对路径target/easy-springmvc-maven.war
添加tomcat的登陆凭据
很多时候更新了WEB程序,可能需要重启才会生效,这样调用前面配置好的登陆凭据,再执行重启的命令或脚本
5、启动作业并验证发布
配置完成后,每当SVN提交的最新的代码,JENKINS手动或自动构建完成这个作业,TOMCAT上面的项目即被自动完成代码的更新
WEB站点也将被重启
构建前的WEB站点:
稍微修改源程序并提交到SVN
在JENKINS上面构建这个作业
当作业完成后,这个WEB站点已经被更新
构建后的WEB站点
查看TOMCAT的进程信息,前后进程的时间对比显示,已经被重启了