我将以下构建管道设置为一个作业:
Stage 1 - verify all dependencies exist
Stage 2 - build the new jar
Stage 3 - Run integration tests
Stage 4 - Deploy to staging environment (manual step)
Stage 5 - Deploy to production environment (manual step)
我正在寻找一种从特定阶段开始构建管道的方法,以防出现暂时性故障。例如,假设当用户单击部署到生产环境时出现网络问题。我认为从第一阶段开始铺设管道是没有意义的…我想再试一次这一步,然后在管道中继续。我在Build Pipeline插件中看不到任何这样的功能。
谢谢!!
发布于 2016-07-01 07:02:38
checkpoint
就是你要找的东西。不幸的是,它只在CloudBees Jenkins企业套件中可用,而不是在免费版本中。
让我们希望它能进入开源版本,因为它似乎是一个非常常见的用例。
发布于 2018-10-26 13:53:11
与此同时,许多其他答案已经过时,因为Jenkins提供了一个内置的解决方案,允许您从任何阶段重新启动作业:https://jenkins.io/doc/book/pipeline/running-pipelines/ It to any to declarative pipeline only through。
发布于 2016-07-04 23:08:12
更好的解决方案是类似于我在this question中建议的解决方案:
编写一个具有"if"-guards的流水线脚本,如下所示:
stage "s1"
if (theStage in ["s1"]) {
sleep 2
}
stage "s2"
if (theStage in ["s1", "s2"]) {
sleep 2
}
stage "s3"
if (theStage in ["s1", "s2", "s3"]) {
sleep 2
}
然后,您可以通过将参数"theStage“设置为"s1”来创建一个“主”作业,该作业使用此脚本并同时运行所有阶段。此作业将在所有阶段同时运行时收集统计信息,并为您提供有用的估计时间。
此外,您还可以创建一个“部分运行”作业,该作业使用此脚本并使用您想要开始的阶段进行参数化。不过,这个估计并不是很有用。
https://stackoverflow.com/questions/38129745
复制相似问题