CI/CD——Jenkins自动构建maven项目
一个完整的jenkins构建maven流程。
一、服务器安装jenkins
1、打开jenkins官网,可以查看中文文档
https://www.jenkins.io/zh/
2、下载jenkins的war包:
https://www.jenkins.io/zh/download/

3、将war包放到服务器上,按照下面的指令安装jenkins:

4、安装完成之后更改jenkins代理,google改成baidu:
vim /root/.jenkins/updates/default.json

二、服务器安装maven
1、打开maven官网并下载安装包传到服务器上
https://maven.apache.org/download.cgi

2、解压安装包并移动目录到环境变量里
tar -zxvf apache-maven-3.8.6-bin.tar.gzmv apache-maven-3.8.6 /usr/local/maven
3、验证maven是否成功,出现以下指令表示成功
/usr/local/maven/bin/mvn -v

三、IDEA新建一个maven项目,详见快速创建一个maven项目
四、jenkins里新建一个maven项目
1、先安装git和maven插件

2、创建一个maven项目

3、填git项目的http地址(jenkins服务器上面也需要安装git):

4、对应git目录的地址,在根目录下就直接写pom.xml

5、Global Tool Configuration里配置maven信息

五、ssh文件传输,构建了jar包之后我们通过ssh将jar包传至测试服务器
1、先安装ssh插件

2、Configure System里配置ssh servers,这样项目构建完jar包之后会把jar包传到目标服务器的根目录/data下

3、修改项目的poststeps(构建之后的动作),

打开SSH Server的详细配置

4、执行jenkins的job,文件传输成功并自动启动jar包,页面可以访问了。

六、执行前动作
jar包启动时我们执行job会提示端口冲突,这个时候我们需要配置一个执行前动作,启动jar包前先把jenkins的进程kill掉。
这个很好理解了,执行目标服务器上的x.sh脚本

x.sh脚本:
#!/bin/bash# 删除历史数据rm -rf java_project/*# 获取传入的参数echo "arg:$1"# 获取正在运行jar包pidpid=`ps -ef|grep $1 | grep 'java -jar' | awk '{printf $2}'`echo $pid# 如果pid为空,给提示但不执行删除,不为空则执行删除# -z 空值判断if [ -z $pid ];thenecho "$1 not started"elsekill -9 $pidecho "$1 is stoping ..."ficheck=`ps -ef | grep -w 95234 | grep 'java -jar'`if [ -z $check ];thenecho "$1 pid:$pid is stoped"elseecho "$1 pid:$pid stop failed"fi
七、设置webhook自动构建
每次git push代码的时候触发构建maven
1、jenkins修改项目配置,添加一个构建触发器,随便输入一个自己喜欢的身份验证令牌

webhook原地址为一个get地址:
JENKINS_URL/job/first/build?token=123123
使用这个地址有个问题是,必须要登录才可用,所以我们再添加一个插件可以免登陆访问
2、安装下图插件——使用webhook的时候可以免登陆

安装了插件之后webhook地址更改为:
http://JENKINS_SITE/buildByToken/build?job=NAME&token=SECRET
浏览器输入地址:

可以看到jenkins项目触发成功

3、gitlab上设置项目,配置webhook。
Trigger为触发事件(在什么时候触发webhook),默认是push代码的时候触发。

4、配置好之后在本地push一次,看看jenkins有没有触发job。
八、配置邮件
jenkins自带发送邮件的功能,我们可以自行配置每次触发job,或者job出错时发送邮件
1、新浪邮箱或者其他邮箱开启POP3/SMTP服务

2、在jenkins的Configure System里填写邮箱地址

填写发送邮件的用户名密码



3、更改邮件通知

4、更改项目配置——构建后操作,新建Editable Email Notification

5、在高级设置里编辑Trigger触发器,在任何情况触发了构建都会给developer和构建user发邮件。

记得设置用户邮箱地址

6、保存之后重新触发任务,查看日志和邮件

邮件发送成功!

学习资源分享
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

更多推荐
所有评论(0)