继jenkins笔记(1)进行实战java代码发布,此利用github私有仓库拉去,jenkins利用maven编译源码后讲包发布致web服务器。
可参考GIT笔记中远程仓库搭建部分,此处java源码使用zrlog,将源码pull到github上,将jenkins公钥配置到github上,即可下一波。
在需要将代码发布的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" />
修改完毕如上图,添加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,以防**。
配置完成后需要启动tomcat/usr/local/tomcat/bin/startup.sh
此时,我们可以进行测试web服务器的tomcatmanager界面,http://IP:8080/manager/index.html
填写配置文件内的用户名:admin,密码:kaliarch
发布java,需要安装两个插件,Maven Integration plugin 和 Deploy to container Plugin,若没有安装则需要安装这两个插件 安装完插件后,需要重启jenkins。
输入项目名称,选择构建一个maven项目,确定。
源码管理选择git,填入仓库url
此时发现会出现报错信息,因为此仓库为我的私有仓库,需要配置Credentials,点开add, Add Credentials的 Kind选择SSH Username with private key,Username选择之前在github上传的公钥用户的用户名,此次为root,Private Key为jenkins服务器登录github的本地私钥,查看私钥cat /root/.ssh/id_rsa
复制粘贴到Key区域,完成添加。此时可以发现报错已经消失。
添加增加构建后操作,选择Deploy war/ear to a container,WAR/EAR files填写**/*.war
,Containers选择增加容器,增加tomcat 8.x,Credentials点add,此处填写的为tomcat的manager页面的用户名密码,此处为admin/kaliarch,
tomcat url填写web服务器的tomcaturl,
添加增加构建后操作,选择Editable Email Notification,利用插件邮件来发送通知。
可以根据需求自定义邮件主题与内容,此处添加信息接受人,由于全局配置了always,在高级设置内,填写接受人邮箱。
点击保存,并立即构建,可以查看日志信息。
登录web服务器,查看war包已经发布完成。
打开web页面进行测试。
查看邮件通知。
至此,java程序已经完成发布,之后修改代码后可以提交到github,然后通过jenkins自动发布即可。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。