遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

企业级持续集成实战系列(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的差异

 

【bak】

 

原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/16999032.html

 

posted @ 2022-12-22 22:43  全栈测试笔记  阅读(1631)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end