Mar*_* Ba 6 jenkins jenkins-plugins jenkins-pipeline
考虑到 resumable不可用,在免费的 Jenkins 中为完整的长期运行的部署/“构建”链提供一个单一的Jenking Job Pipeline 作业是否有意义checkpoint?
我正在研究Jenkins' the open/free Pipeline Bundle的当前化身。
我会注意到,我认为您在这里免费获得的东西简直太棒了,因为大多数东西(工作流作业本身、舞台视图等)只是 CloudBees 商业企业捆绑包的一部分一两年回来。
它还在我看来,鉴于stashING能力和詹金斯Pipleine的多节点的能力,它是-确实是标榜这样的-可能创建一个完整的和完整的构建/测试/包/部署链单一詹金斯工作。
这与“历史”(?) Build Pipeline Plugin形成对比,后者可让您在多个 Jenkins 作业之间拆分“阶段”。编排这些作业总是有点麻烦,更不用说在作业之间传递工件并控制它们在不同节点上的运行方式。
除了你不从旧的生成流水线插件是能够重新启动“阶段”(失败时)获得-这工作,因为一个“舞台”是一个简单的詹金斯作业运行,你可以重复(它也将运行所有下游的东西)。
我们项目的 C++ 构建的编译持续时间为数小时,自动化测试运行时间更长,最后打包和设置创建也不是在几分钟内完成的。
如果我做了“pipleine建造”,如果设置创建在最后失败,因为安装创作相关的问题,我也不会要重建项目并重新运行单元测试。我想修复安装脚本并重做安装创建,这将(希望)成功地结束这次运行。... 或者,如果某些自动化测试由于例如可疑的构建环境原因而失败,我想修复构建环境并从失败的测试向前重新运行我的管道,而不是先进行数小时的重新编译。
碰巧的是,新 Jenkins 作业管道包确实能够从checkpoint. 除了:它是 Enterprise Bundle 的一部分,这意味着它不是免费的。(我会注意到,我很精细与给钱CloudBees的,但我不罚款与移动应用,如一对多节点-随你样和还待能够-TO- just-do-testruns-where-you-like 开放软件到受限许可软件,在那里我必须跟踪节点数量,确保测试环境甚至可以设置许可等)
因此,考虑到对我而言,新 Jenkins 作业管道无法从失败的步骤中恢复,看来我又回到了原点,无论如何我必须将运行时间较长的东西拆分为多个作业。
这就引出了一个问题 Jenkins Job Pipleine 是否真的是这项工作的最佳工具——如果我必须编排多个工作,并且我想在创建方面简化和自动化它,我也可以使用Job DSL 插件从一个点维护所有这些工作——然后问题是“自由风格”的工作是否也不能很好地完成这项工作。
另一方面,我可能在这里遗漏了一些东西,还有另一种很好的单一工作方法吗?
我会注意到Replay流水线运行的选项看起来很有希望,如果有点粗糙......
CloudBees 最近决定开源检查点插件,正如您在评论中列出的Jenkins Jira 的链接问题中看到的那样。
不过,我还没有看到该插件的公开发布版本。