软件测试 | 矩阵 job 与父子 job
当有多个 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 )配置页面的构建步骤中输入如下:
安装 Text Finder 插件,在 job 中找到构建后,选择“Text Finder”项,设置规则:如果在 console 中检测到 unstable,则标记任务状态为 unstable。任务最终结果为成功,输出字样中含 unstable。
3)在 jenkins_job_test( B job ) 构建触发器中勾选“其他工程构建后触发”项,并选择“即使构建不稳定时也会触发”单选项。
4)执行 job 的构建结果如下:
搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核
评论