从Jenkins Multijob迁移到Pipeline插件

6

目前我们使用的是Jenkins CI 1.643版本(我认为),并使用了Multijob插件和Job DSL。

使用Job DSL生成一组任务,以及一个包含所有其他任务按特定顺序(构建、分析、单元测试、集成测试等)的多任务。

我有兴趣升级到Jenkins 2,并使用Pipeline插件(以前称为Workflow插件)。

Pipeline插件提供了漂亮的图形表示,并提供了一些高级功能,我们目前没有这些功能(例如“暂停”操作,需要人工干预)。

Blue Ocean项目似乎也非常流畅,但需要Pipeline插件。

关于迁移,我有几个问题:

  • 我应该继续使用Job DSL吗?我们使用Groovy创建了非常好的模板机制,因此只需输入有关产品的一些详细信息即可(例如使用的编译器和某些质量阈值)。我想保留这个。
  • 是否有指南可以从Multijob插件迁移到Pipeline插件?
  • 我应该注意哪些事项?(插件之间的关键差异。)

只需要开始编写管道脚本,遇到具体问题时可以向 StackOverflow 上提问。 - StephenKing
1
我认为这是一个常见的任务。因此,我期望有某种指南。不幸的是,我自己找不到相关指南,但也许是我的搜索技能有所欠缺。 - Arno Moonen
我不知道有没有相关指南(但是寻找这样的东西有点违反stackoverflow的规则)。我成功地用管道DSL替换了所有的JobDSL。但是,不同插件的支持远远不够好(但肯定会改善)。关于多任务作业,请参考这个答案 - StephenKing
@ArnoMoonen 我也准备进行迁移。我本以为会有一些迁移插件或者一个可以导出和转换现有作业配置的插件。但是到目前为止我还没有找到任何东西。 - JJD
1个回答

3

虽然不是完整的答案,但是:

我们使用Groovy创建了一个非常好的模板机制,因此我们只需要输入有关产品的一些详细信息(例如使用的编译器和某些质量阈值)。我认为我想保留这个。

在Pipeline中的等效方法是创建一个Groovy库,抽象出项目的共同方面,并从各种作业的短主脚本中调用它,只需传递不同的参数。

我应该继续使用Job DSL吗?

在某些情况下,在Pipeline中仍然可以使用Job DSL:例如,如果您想根据某些计算标准自动生成作业数组。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接