我有一个声明式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
的重播。
它甚至可能吗?
答案 0 :(得分:0)
仅仅为了重新部署而重新运行上一次成功的构建是错误的方法。想想它们与您的仓库中的提交相关的构建。并且该构建已经成功,因此无需再次运行它。除此之外,它可能在重播期间失败,例如当二进制存储库之类的外部服务出现故障时。
相反,更改部署的方式是将新版本与旧版本并行部署,然后只有在部署成功时才切换。它可以像这样工作:
例如,您可以使用Ansible。或者,如果您使用Docker,则可以使用Kubernetes / OpenShift。当且仅当部署成功时,负载均衡器/代理才会切换到新服务。如果部署失败,一切都保持不变。