Jenkins自动发布Java代码

继Jenkins安装与配置详解进行实战java代码发布,此利用GitHub私有仓库拉去,Jenkins利用Maven编译源码后讲包发布致Web服务器。

一、Git私有仓库创建

可参考Git介绍及安装配置中远程仓库搭建部分,此处Java源码使用zrlog,将源码pull到github上,将Jenkins公钥配置到GitHub上,即可下一波。

二、Web服务器Tomcat配置

在需要将代码发布的web服务器上需要配置tomcat的manager页面。

yum install java-1.8.0-openjdk.x86_64 -y && \
wget -c -O /usr/local/apache-tomcat-9.0.2.tar.gz && \ http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz && \
cd /usr/local/ && tar -xf apache-tomcat-9.0.2.tar.gz &&\

此时tomcat已经安装成功,需要配置manager页面。
需要在/usr/local/tomcat/conf/tomcat-users.xml 添加以下内容。

<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user name="admin" password="kaliarch" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />

Jenkins自动发布Java代码

修改完毕如上图,添加manager的role角色权限,其次需要修改manger页面的源控访问,添加jenkins的ip为白名单内。
修改/usr/local/tomcat/webapps/manager/META-INF/context.xml
默认tomcat的manager页面只允许本地的和ipv6的地址,此处我的jenkins服务器ip为:172.20.6.0/24,可根据实际情况来定,支持网段,不要开放全部开放0.0.0.0,以防黑客入侵。

Jenkins自动发布Java代码
配置完成后需要启动tomcat/usr/local/tomcat/bin/startup.sh
此时,我们可以进行测试web服务器的tomcatmanager界面,http://IP:8080/manager/index.html
填写配置文件内的用户名:admin,密码:kaliarch
Jenkins自动发布Java代码

三、创建发布项目

发布java,需要安装两个插件,Maven Integration plugin 和 Deploy to container Plugin,若没有安装则需要安装这两个插件 安装完插件后,需要重启jenkins。

3.1 新建item

输入项目名称,选择构建一个maven项目,确定。
Jenkins自动发布Java代码

3.2 配置源码管理

源码管理选择git,填入仓库url
Jenkins自动发布Java代码
此时发现会出现报错信息,因为此仓库为我的私有仓库,需要配置Credentials,点开add, Add Credentials的 Kind选择SSH Username with private key,Username选择之前在github上传的公钥用户的用户名,此次为root,Private Key为jenkins服务器登录github的本地私钥,查看私钥cat /root/.ssh/id_rsa 复制粘贴到Key区域,完成添加。此时可以发现报错已经消失。
Jenkins自动发布Java代码

3.3 配置发布到web服务器

添加增加构建后操作,选择Deploy war/ear to a container,WAR/EAR files填写**/*.war,Containers选择增加容器,增加tomcat 8.x,Credentials点add,此处填写的为tomcat的manager页面的用户名密码,此处为admin/kaliarch,
Jenkins自动发布Java代码
tomcat url填写web服务器的tomcaturl,
Jenkins自动发布Java代码

3.4 配置邮件信息通知

添加增加构建后操作,选择Editable Email Notification,利用插件邮件来发送通知。
可以根据需求自定义邮件主题与内容,此处添加信息接受人,由于全局配置了always,在高级设置内,填写接受人邮箱。
Jenkins自动发布Java代码

3.5 信息查看

点击保存,并立即构建,可以查看日志信息。
Jenkins自动发布Java代码

登录web服务器,查看war包已经发布完成。
Jenkins自动发布Java代码
打开web页面进行测试。
Jenkins自动发布Java代码

查看邮件通知。
Jenkins自动发布Java代码

至此,Java程序已经完成发布,之后修改代码后可以提交到GitHub,然后通过Jenkins自动发布即可。

Jenkins 的详细介绍:请点这里
Jenkins 的下载地址:请点这里

 

相关推荐