技术分享 | Jenkins 多任务关联

本文节选自霍格沃兹测试开发学社内部教材

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

触发条件

多任务关联的使用场景是有先后次序关系的任务,例如 部署环境任务 → 验收测试任务。而任务启动的触发条件为其他任务的运行结果,比如

  • 前驱 job 成功的条件下触发下一个 job
  • 前驱 job 失败的条件下触发下一个 job
  • 前驱 job 不稳定的条件下触发下一个 job

成功构建

  • jenkins_job_compile 构建稳定的情况下触发 jenkins_job_test
  • 退出状态值为 0,job 的执行结果是成功。因此,在 jenkins_job_compile job 的构建中输入 exit 0

技术分享 | Jenkins 多任务关联_第1张图片

image1080×400 20 KB

  • 在 jenkins_job_test 构建触发器中勾选其他工程后构建,选择只有稳定构建时触发

失败构建

  • jenkins_job_compile 构建即使失败也会触发 jenkins_job_test
  • 退出状态值为非 0,job 的执行结果是失败。因此,在 jenkins_job_compile job 的构建中输入 exit -1
  • 在 jenkins_job_test 构建触发器中勾选其他工程后构建,选择即使构建失败也触发
  • 执行 job 的构建结果为:failure Triggering a new build of jenkins_job_test

不稳定构建

  • jenkins_job_compile 即使构建不稳定也会触发 jenkins_job_test
  • 退出状态值为 unstable,job 的执行结果是不稳定。因此在 jenkins_job_compile 中,在构建中输入 echo “unstable” exit 0,同时安装 Text Finder 插件,任务最终结果为成功,输出字样中含 unstable,在 job 中找到构建后,选择 Text Finder,设置规则:如果在 console 中检测到 unstable,则标记任务状态为 unstable
  • 在 jenkins_job_test 构建触发器中勾选其他工程后构建,选择即使构建不稳定时也会触发
  • 执行 job 的构建结果为:Finished looking for pattern ‘unstable’ in the console output 。Triggering a new build of jenkins_job_test

 

你可能感兴趣的:(测试开发,软件测试,jenkins,ci,运维)