首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Jenkins构建管道-在阶段重新启动

Jenkins构建管道-在阶段重新启动
EN

Stack Overflow用户
提问于 2016-07-01 01:27:51
回答 4查看 46.3K关注 0票数 33

我将以下构建管道设置为一个作业:

代码语言:javascript
复制
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插件中看不到任何这样的功能。

谢谢!!

EN

回答 4

Stack Overflow用户

发布于 2016-07-01 07:02:38

checkpoint就是你要找的东西。不幸的是,它只在CloudBees Jenkins企业套件中可用,而不是在免费版本中。

让我们希望它能进入开源版本,因为它似乎是一个非常常见的用例。

票数 16
EN

Stack Overflow用户

发布于 2018-10-26 13:53:11

与此同时,许多其他答案已经过时,因为Jenkins提供了一个内置的解决方案,允许您从任何阶段重新启动作业:https://jenkins.io/doc/book/pipeline/running-pipelines/ It to any to declarative pipeline only through

票数 16
EN

Stack Overflow用户

发布于 2016-07-04 23:08:12

更好的解决方案是类似于我在this question中建议的解决方案:

编写一个具有"if"-guards的流水线脚本,如下所示:

代码语言:javascript
复制
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”来创建一个“主”作业,该作业使用此脚本并同时运行所有阶段。此作业将在所有阶段同时运行时收集统计信息,并为您提供有用的估计时间。

此外,您还可以创建一个“部分运行”作业,该作业使用此脚本并使用您想要开始的阶段进行参数化。不过,这个估计并不是很有用。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38129745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档