写点什么

软件测试 | 矩阵 job 与父子 job

  • 2023-02-26
    北京
  • 本文字数:978 字

    阅读完需:约 3 分钟

当有多个 Jenkins job 时,job 的执行需要按照先后顺序去执行,这个过程就是 Jenkins 的多任务关联。通常用于项目的编译、打包、冒烟测试,执行测试脚本也需要多任务协助的场景。


1.触发条件


当多个任务有关联关系,并且需要指定先后顺序时,这时的场景就需要配置“触发条件”来构建,如部署环境任务与验收测试任务时,可能有下面 3 种场景:


(1)前驱 job 成功的条件下触发下一个 job;


(2)前驱 job 失败的条件下触发下一个 job;


(3)前驱 job 不稳定的条件下触发下一个 job。


2.案例


(1)A job 成功构建后,触发 B job 进行构建。


1)前提条件:jenkins_job_compile( A job),当它构建稳定的情况下,触发构建 jenkins_job_test( B job)。


2)退出状态值为 0,表示 job 的执行结果是成功。因此,在 jenkins_job_compile job 的构建中输入命令 exit 0(见图 8-18)。


3)在 jenkins_job_test( B job)构建触发器中勾选“其他工程构建后触发”项,并选择“只有构建稳定时触发”项(见图 8-19)。


4)执行 job 的构建结果为:Ttiggering a new build of jenkins_job_test。


(2)失败构建


1)前提条件:jenkins_job_compile( A job ) 构建即使失败也会触发 jenkins_job_test( B job )。


2)退出状态值为非 0,表示 job 的执行结果是失败。因此,在 jenkins_job_compile job 的构建中输入 exit -1。


3)在 jenkins_job_test(B job) 构建触发器中勾选“其他工程构建后触发”项,并选择“即使构建失败时也会触发”单选项。


4)执行 job 的构建结果为:failure Triggering a new build of jenkins_job_test。


(3)不稳定构建


1)前提条件:jenkins_job_compile( A job)即使构建不稳定也会触发 jenkins_job_test( B job)。


2)退出状态值为 unstable,表示 job 的执行结果是不稳定。在 jenkins_job_compile( A job )配置页面的构建步骤中输入如下:


echo "unstable"exit 0
复制代码


安装 Text Finder 插件,在 job 中找到构建后,选择“Text Finder”项,设置规则:如果在 console 中检测到 unstable,则标记任务状态为 unstable。任务最终结果为成功,输出字样中含 unstable。


3)在 jenkins_job_test( B job ) 构建触发器中勾选“其他工程构建后触发”项,并选择“即使构建不稳定时也会触发”单选项。


4)执行 job 的构建结果如下:


Finished looking for pattern 'unstable' in the console outputTriggering a new build of jenkins_job_test
复制代码

搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核

用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | 矩阵job与父子job_测试_测吧(北京)科技有限公司_InfoQ写作社区