0
点赞
收藏
分享

微信扫一扫

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发

自动触发流程

之前介绍了手动构建,今天介绍一下自动触发构建

流程:

  1、开发提交代码

  2、动态slave pod拉取gitlab上代码(自动触发)

  3、mvn打包

  4、构建镜像

  5、新镜像发布到k8s

  6、拉取自动化测试代码

  7、自动化测试执行

  8、allure报告

  同时,过程中会有钉钉消息推送。

说明:由于环境资源不足,省去了拉取代码后的静态代码扫描(SonarQube)、mvn打包后的上传至Nexus制品库(构建结果的仓库)

 

pipeline脚本

配置jenkins

点击job的“Configure”,然后选择“Build Triggers”,勾选红色箭头指向的方框,方框后面有webhook URL(http://192.168.117.160:8080/project/demo),gitlab中需要用到

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_git

 

点击“Advanced...”

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_02

 

点击“Generate”

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_git_03

 

生成Secret token(cf3746243324195789d85852c8ae3da7),gitlab中需要用到

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动构建_04

 

配置gitlab

配置webhook,在项目的“Settings”中选择“Webhooks”

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_git_05

 

输入刚刚配置jenkins时记录的url和token

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_06

 

点击“Add webhook”

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_git_07

 

添加成功

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动构建_08

 

测试

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_git_09

可以看到执行成功,状态是200

 

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_git_10

 

可以看到,触发了自动构建,并且收到构建失败的钉钉消息

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_11

 

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_12

 

钉钉消息

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_13

 

查看Blue Ocean

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_14

 

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_git_15

 

日志中,打印的分支是main(Push events操作的结果)

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_16

 

因为main分支中没有pom文件,所以从mvn开始会失败,这里只要触发了自动构建,就表示是成功的,下面我们用master分支演示

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动构建_17

 

效果演示

我们修改源码,然后push到gitlab,注意:下面是master分支

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_18

 

gitlab可以看到刚刚的推送记录

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_19

 

可以看到,触发了自动构建

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_git_20

 

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动构建_21

 

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动构建_22

 

下面是钉钉消息

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_23

 

点击最后一个钉钉消息“查看本次测试报告”

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_24

 

另外,日志中,打印的分支是master(因为我们push到了master分支)

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动构建_25

 

查看Blue Ocean

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_26

 

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_git_27

 

而我们手动构建,是这样的,差异就是pull project code这里走的分支不一样

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_28

 

在Stage View中可以看到第19和20、21的差异

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动构建_29

 

 

★★★★★【汇总】企业级自动化持续集成

可以整合python、java等自动化框架

git + gitlab + jenkins + pipeline + maven + harbor + docker + k8s

详见:​​javascript:void(0)​​

【2022自动化系列终极篇】自动化测试持续集成:pipeline自动触发_自动化测试_30

 

 

​​【bak】​​

 

 

__EOF__


本文作者:持之以恒(韧)



举报

相关推荐

0 条评论