java 自动化构建_Jenkins自动化构建配置

写在前头

我每次修改代码一点东西,都要进行一个重新发布。重新发布的流程大概如下:

将最新代码同步上传到git上面

Maven打包 mvn clean install

将最新的jar包上传到服务器上面,一般我用 lrzsz如果遇到网速慢就没办法了

最后执行脚本,运行程序

大概四个步骤,时间最长的就是将jar包上传到服务器上面去了。如果包有问题,还有重新进行上面四个步骤,甚是烦人

在实习中,无意中接触到了Jenkins自动构建工具,那我们就来了解一下吧。

Jenkins实践

目的:本地IDEA一旦push了代码,jenkins能自动拉去最新代码,并且自动构建最新代码,发布

可以大致分为两个步骤

第一步:Jenkins从git拉去最新代码

第二步:Jenkins自动构建

完全是自动化的,不需要人为干预操作。只要IDEA上传代码到git,Jenkins就能帮你自动构建

第一步

Jenkins从git拉去最新代码

首先在Github中设置Webhooks(网络钩子),它可以在检测到push之后,主动向Jenkins发起post请求

4901d494a5f98714098312eefdced740.png

其次在Jenkins里面配置git的信息

d0531851d182ba264821a1f151e8680a.png

最后在每次Jenkins新建项目的时候,配置项目在git的地址,这样就能区分哪个项目了

033f0ea193cb18f66a83b7a36898207c.png

第二步

Jenkins自动构建并发布代码

首先打开项目的配置文件,在项目中配置git的地址

d9944f60c1ed3913fbe4aa775389895f.png

其次打开gitHook这个选项(记得一定要勾选)

889385e6b4a51e1b7a66e3d9ae9bbf0f.png

最后在执行shell脚本那里,输入maven命令和构建完要执行的脚本即可

4508aea0a5e3104811ee6a853fa78c66.png

Jenkins构建三大坑

第一大坑

Maven执行报错 我们通常执行Maven命令如下: mvn clean install -Dmaven.test.skip=true

但这样写必报错。因为Jenkins默认会为你加上mvn前缀,,所以你只用

clean install -Dmaven.test.skip=true 即可

第二大坑

Jenkins没有权限去执行shell脚本,被拒绝

可以将Jenkins设置为777,但这是非常不友好的。

第三大坑

Jenkins直接完成构建,会将构建启动的进程,全部杀死,我滴妈呀

BUILD_ID=DONTKILLME,即可防止jenkins衍生进程

Jenkins最终效果如下

由于博客园不支持上传视频,只能把视频放在第三方平台上了

链接如下

写在最后

Jenkins是真的蛮方便的,只要我上传代码至git,他就一路下来自动拉代码,运行脚本,发布,非常的方便

别看我这样简单的搭建完成了,没试过的可以试试,你会发觉坑还是很多的。

加油啦!!!

附录:

osc.sh的脚本

1 #!/bin/bash2 pid=$(ps -ef | grep com.gdufe.osc.OscApplication | grep 'java' | grep -v grep | awk '{print $2'})3 if [ -z "$pid" ]; then

4 echo 'there are not OscApplication process. starting will be continue.'

5 fi

6 if [ -n "$pid" ]; then

7 echo 'java process id is'$pid8 if ps -p $pid > /dev/null

9 then

10 echo $pid'will be kill'

11 kill -9$pid12 fi

13 fi

14 echo 'start OscApplication wait.'

15 nohup java -jar osc.jar com.gdufe.osc.OscApplication >/dev/null 2>error.log &

16 echo 'finish starting OscApplication'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值