Jenkins - 如何在管道作业中重放lastSuccessfulBuild

时间:2018-02-14 14:46:03

标签: jenkins jenkins-pipeline

我有一个声明式jenkins文件,convert /Users/james/Desktop/image-magick/santorini.jpg -sampling-factor 4:2:0 -strip -quality 75 -resize 700x466! -interlace JPEG -colorspace RGB -background white -flatten /Users/james/Desktop/image-magick/final/santorini-opt.jpg 如果所有阶段都很好,我会在每个阶段检查构建状态。

我在最后阶段部署新版本,但如果一个阶段失败,我想在jenkinsfile的最后阶段启动currentBuild.currentResult的重播。 它甚至可能吗?

1 个答案:

答案 0 :(得分:0)

仅仅为了重新部署而重新运行上一次成功的构建是错误的方法。想想它们与您的仓库中的提交相关的构建。并且该构建已经成功,因此无需再次运行它。除此之外,它可能在重播期间失败,例如当二进制存储库之类的外部服务出现故障时。

相反,更改部署的方式是将新版本与旧版本并行部署,然后只有在部署成功时才切换。它可以像这样工作:

例如,您可以使用Ansible。或者,如果您使用Docker,则可以使用Kubernetes / OpenShift。当且仅当部署成功时,负载均衡器/代理才会切换到新服务。如果部署失败,一切都保持不变。