jenkins + tomcat + git 自动发布

在上家公司,最开始系统代码是 svn+手动发布(.net)。发布过程麻烦不可靠。

麻烦:

1.每次需要手动把发布包拷贝到指定的服务器,指定的目录下

2.如果有负载的,需要同样的操作好几个机器,手动操作容易落下

3.发布人和服务器网络传输受限

不可靠:

svn 分支管理不方便。每次都是在自己本地保存一次最后发布的版本。然后把要最近调整过的,待发布的代码在整合上去,容易落下文件、代码。

处理hot fix 的时候,代码不好控制

 

通过台湾同事推荐并且使用 jenkins + git 做代码管理和发布。优势如下:

1.版本控制

git 可以每个人有自己的分支,每个分支未合并到master之前互不干扰

git 上,每次发布后,打一个 tag 标签。如果hot fix 可以直接在指定 tag 上做修改操作

2.jenkins

jenkins 可以整合 git ,再加上一些脚本实现自动发布,只要发布流程设置没问题,基本不会有落下操作的情况。

减少人工操作,网络内容操作,快速准确。开放权限后,普通值班人员都可以操作(建议要有技术岗值班操作,免得出问题后,没法及时处理)

 

到现在公司后,公司外派我到广州科学城联通客服中心某项目组处理java方面的工作(以前搞.net),svn 做版控。

看到项目组每次发布,都需相关的开发人员晚上在线值班,然后通过手动发布到tomcat 下面,每天晚上一个小发布,一群人在等着,效率不是他理想。

于是建议项目组采用 jenkins+git+tomcat 做代码版控+自动发布,每次发布减少了许多工作量。

最近没啥事情,就把这个大概流程记录下。

 

重要点:

1.jenkins 需要安装git、tomcat相关的插件

2.jenkins 所在服务器需要安装 maven 相关插件(我们使用这个编译打包)

3.jenkins 需要能够访问到 git/gitlab 服务器

4.jenkins 可以访问、操作 app 服务相关端口、目录

5.需要定时删除前X次的日志,否则次数一多,磁盘就满了

 

下面上图:

1.新建jenkins 发布任务

 

 

 

 

2.配置数据源

 

 jenkins git 的 Credentials,自己找其他博文,我这是大概描述下流程

 

3.构建触发

 

 根据自己需求选择

 

4.编译打包

 

 

 

5.打包后的操作

 

 注意,此处我是通过 SH 来执行脚本复制文件的,你们可以设置自己的tomcat manager 来发布,看自己需求。

如果是sh 操作,单独执行 sh 文件后,如果sh 中是执行后台操作,将会自动结束,请添加  BUILD_ID=dontKillMe 

 

如果是shell 直接执行 java 命令,则在shell第一行添加: source /etc/profile

 

处理执行 shell 秒退:如下图:

 

 

 

posted @ 2020-04-26 11:26  hujunmin  阅读(474)  评论(0编辑  收藏  举报