企业级持续集成实战系列(13):自动触发构建
本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/16721826.html
自动触发流程(含视频演示)
之前介绍了手动构建,今天介绍一下自动触发构建
流程(点击→视频):
1、开发提交代码
2、动态slave pod拉取gitlab上代码(自动触发)
3、mvn打包
4、构建镜像并推送到镜像仓库
5、新镜像发布到k8s
6、拉取自动化测试代码
7、自动化测试执行
8、生成allure报告
同时,过程中会有钉钉消息推送。
说明:由于环境资源不足,省去了拉取代码后的静态代码扫描(SonarQube)、mvn打包后的上传至Nexus制品库(构建结果的仓库)
pipeline脚本(核心部分)
参考:https://www.cnblogs.com/uncleyong/p/17814360.html
配置jenkins
点击job的“Configure”,然后选择“Build Triggers”,勾选红色箭头指向的方框,方框后面有webhook URL(http://192.168.117.160:8080/project/demo),gitlab中需要用到
点击“Advanced...”
点击“Generate”
生成Secret token(cf3746243324195789d85852c8ae3da7),gitlab中需要用到
配置gitlab
配置webhook,在项目的“Settings”中选择“Webhooks”
输入刚刚配置jenkins时记录的url和token
点击“Add webhook”
添加成功
测试
可以看到执行成功,状态是200
可以看到,触发了自动构建,并且收到构建失败的钉钉消息
钉钉消息
查看Blue Ocean
日志中,打印的分支是main(Push events操作的结果)
因为main分支中没有pom文件,所以从mvn开始会失败,这里只要触发了自动构建,就表示是成功的,下面我们用master分支演示
最终效果
我们修改源码,然后push到gitlab,注意:下面是master分支
gitlab可以看到刚刚的推送记录
可以看到,触发了自动构建
下面是钉钉消息
点击最后一个钉钉消息“查看本次测试报告”
另外,日志中,打印的分支是master(因为我们push到了master分支)
查看Blue Ocean
而我们手动构建,是这样的,差异就是pull project code这里走的分支不一样
在Stage View中可以看到第19和20、21的差异
原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/16999032.html
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!