设为首页 收藏本站

运维网

查看: 376|回复: 3

[经验分享] gitee+Jenkins+tomcat实现自动打包部署

[复制链接]

尚未签到

发表于 2018-12-3 07:13:18 | 显示全部楼层 |阅读模式
  主要实现使用Jenkins从gitee上自动编译打包部署java项目到tomcat,使用webhook来实现gitee项目上的代码变动自动触发打包编译部署
  一、环境准备
  主机名
  ip
  安装服务
  jenkins
  192.168.10.100
  Jenkins、jdk、maven
  tomcat
  192.168.10.200
  tomcat7、jdk
  安装所需工具:
  安装Jenkins
  安装jdk、maven
  安装tomcat
  二、配置环境
  1、安装配置tomcat manager
  修改conf/tomcat-users.xml
  添加一下内容:
  
  
  
  
  说明:添加了admin-gui、manager-gui、manager-script 3个角色,配置一个tomcat用户,密码为tomcat,拥有这3个角色的权限(用来登陆到manager页面)
  启动tomcat程序
  bin/startup.sh
  测试配置用户是否能够登陆
  浏览器打开192.168.10.200:8080/manager,输入配置的用户名和密码登录,登陆成功显示如下页面


  2、配置Jenkins的jdk和maven环境
  Jenkins安装完成后,由于部署的项目是java-web程序,所以需要jdk和maven环境
  jdk和maven安装目录分别是/usr/local/jdk1.8.0_144和/usr/local/maven
  首先进入Jenkins系统管理--》Global Tool Configuration
  选择“jdk安装” --》别名自定义(建议标识jdk版本)--》JAVA_HOME(/usr/local/jdk1.8.0_144)  不要选自动安装
  然后选择“maven安装”--》name(自定义)--》MAVEN_HOME(/usr/local/maven)同样不要选自动安装




  配置完成后保存退出
  3、安装插件
  需要安装Generic Webhook Trigger、Deploy to container Plugin、Git plugin及Maven Integration plugin这四个插件
  进入主页面选系统管理--》插件管理,进入插件管理页面,在可选插件选项卡下查找这四个插件,安装完成后需要重启Jenkins


  4、配置gitee
  gitee上已经创建好一个私有项目,并且跟Jenkins所在主机配置了ssh-key,可以用“git clone” gitee上的项目,测试项目为zrlog,一个Java写的开源博客
  5、创建Jenkins部署项目
  点击新建,创建一个maven项目(如果不是maven项目可以选自由风格项目)


  点击ok,进入项目配置页面,描述可以简单介绍下这个项目
  源码管理选择git,填写项目地址(git@gitee.com:wangyank/zrlog.git),由于gitee上的zrlog项目是私有的,还需要配置密钥,点击Credentials后的add
  类型选择ssh username with private key,username输入git,Private Key填写Jenkins主机的root用户私钥(/root/.ssh/id_rsa),root是gitee上配置的ssh key的用户。
  http://s1.运维网.com/images/20180920/1537415968651685.png

  添加完成后,Credentials选择刚才添加的git即可


  如果Credentials配置错误,就会报错


  在构建触发器下勾选Generic Webhook Trigger,给抓出来的数据起个变量名ref,抓取内容为$.ref(看码云的文档)
  在Post content parameters后点击增加,variable填写ref,Expression填写$.ref,然后点选下边的JSONPath


  好,稍微下来一点,我们只需要获取POST数据,header和request不用理。接下来也很关键,定义过滤出来什么字串才触发这个任务。所以使用正则匹配,text为匹配出什么结果就触发这个任务,于是我们填入刚才抓取临时存放的变量$ref,注意这里不是原始数据的$.ref。
  ^(refs/heads/master)$
  http://s1.运维网.com/images/20180920/1537416043403996.png

  在build中,配置maven执行命令”clean install -D maven.test.skip=true“
  http://s1.运维网.com/images/20180920/1537416074608043.png

  在构建后操作下,点击增加构建后操作,选择deploy war/ear to a container
  WAR/EAR files填写“**/*.war”,container选择 tomcat 7.x(根据自己版本选择),点击Credentials后add,username和password根据tomcat中配置的填写即可,我这里都是tomcat


  保存退出后,选择刚才添加的用户,Tomcat URL填写tomcat的IP地址即可,我这里是192.168.10.200:8080


  这样Jenkins基本配置完成,保存退出
  6、配置gitee的webhook
  登陆gitee,进入zrlog项目,点击项目名下最右边的管理选项卡,然后点击添加


  进入添加webhook页面,url需要填写Jenkins的url(域名或者公网ip)
  URL格式为 http://有读权限的用户名:该用户名密码@jenkis地址/generic-webhook-trigger/invoke
  如: http://admin:tusmind123@http://10.160.59.236:8990/generic-webhook-trigger/invoke
  该处用户名和密码为Jenkins中的用户,不要搞混了,地址端口后边为固定写法,不能随便写,在构建触发器是有提示


  另外,如果Jenkins是在内网部署的,需要把Jenkins端口映射到公网,Jenkins本身是在公网部署只要打开端口,需要gitee能够跟Jenkins通信即可


     点击测试,返回ok就说明接口能用了,如果返回如下,则用户名密码可能没填或者没对。
  1
  2
  3
  4
  {"status":"ok","data":{"triggerResults":{"ANY":"Did not find any jobs to trigger!
  The user invoking /generic-webhook-trigger/invoke must have read permission to any
  jobs that should be triggered. You may try adding http://user:passw@url... or configuring
   and passing an authentication token like ...trigger/invoke?token=TOKENHERE"}}}
  三、测试
  配置完成后,需要做下测试,是否配置成功
  在gitee的zrlog项目下新建一个文件,查看Jenkins中的zrlog是否在执行构建部署


  查看日志




  最后显示部署成功,打开浏览器输入192.168.10.200:8080/zrlog-2.0.4,能够打开说明配置成功了
  四、遇到的问题
  安装配置完成后,测试时build没有问题,部署到tomcat时报错


  没有部署成功。
  后来查资料发现是tomcat的bug,Tomcat的版本是8.5.13,这个bug官方已经收到反馈,并且在8.5.14已经修复,测试的tomcat恰好是8.5.13版本,从官网重新下载最新版本,再次测试就没有问题了。




运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@yunvn.com 网址:www.iyunv.com

点击关注更多内容
累计签到:144 天
连续签到:2 天
发表于 2019-1-31 22:59:59 | 显示全部楼层
好多图都看不到啊 什么鬼

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

累计签到:28 天
连续签到:3 天
发表于 2019-2-15 09:24:06 | 显示全部楼层
谢谢楼主分享啊

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

累计签到:196 天
连续签到:44 天
发表于 2019-2-22 08:55:25 | 显示全部楼层
感谢楼主的分享!

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服 E-mail:kefu@yunvn.com

本站由青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2020

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up !


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!


独家合作伙伴: 青云cloud

快速回复 返回顶部 返回列表