【发布时间】:2020-05-08 00:53:01
【问题描述】:
Jenkins 声明式管道对我们来说太强大了,用户经常会滥用它。我们正在考虑使用自以为是的 YAML 来描述 CI/CD 管道。而且似乎有两种选择。
- 编写插件并使用 YAML 并动态创建阶段/步骤。
- 编写一个插件来将 YAML 转换为 Jenkins 管道。
我不是 Jenkins 方面的专家,所以我希望有专家可以提供一些指导,也许可以举个例子。
【问题讨论】:
-
你不需要写插件。您可以使用
evaluate()在共享库中创建整个管道。 Example. -
由于过去的 GSOC 项目,该插件已经存在:jenkins.io/blog/2018/07/17/simple-pull-request-plugin。
-
很高兴了解这两种解决方案。
-
您不需要使用评估。如果您想在未来对管道进行 lint,使用它还会阻止您在评估的管道上应用 Codenarc 的 linting
标签: jenkins yaml jenkins-pipeline jenkins-groovy jenkins-declarative-pipeline