有没有工具可以生成.gitlab-ci.yml
像 Jenkins 这样的文件有 job-dsl-plugin 来创建工作吗?
Jenkins DSL plugin允许我使用 Groovy
生成工作,输出 xml
这描述了 Jenkins 的工作。
我可以使用 DSL 和 json
文件以在 Jenkins 中生成作业。我正在寻找的是一个工具来帮助我生成 .gitlab-ci.yml
基于规范。
最佳答案
我要问的主要问题是你的目标是什么?
只需减少重复工作片段的维护工作:
有时 .gitlab-ci.yml
文件在很多项目中都非常相似,您希望集中管理它们。然后我建议看看Having Gitlab Projects calling the same gitlab-ci.yml stored in a central location - 展示了多种集中构建的方式,
生成管道配置,因为构建高度灵活
实际上,这更像是一项模板任务,几乎可以用您喜欢的每种脚本语言来实现。
使用简单的 bash、groovy、python、go 等等。最后的问题是,你追求什么样的灵活性,你需要什么样的逻辑。我不会详细介绍如何生成 .gitlab-ci.yml
文件,但如何在下一步中使用它。因为在我看来这是最关键的一步。有一种简单的生成和提交的方法,但您也可以使用 GitLab CI 为您生成一个文件,该文件将在您的管道的下一个工作中使用。
setup:
script:
- echo ".." # generate your yaml file here, maybe use a custom image
artifacts:
paths:
- generated.gitlab-ci.yml
trigger:
needs:
- setup
trigger:
include:
- artifact: generated.gitlab-ci.yml
job: setup
strategy: depend
这允许您生成子管道并执行它 - 我们将其用于 monorepos 中的高度通用构建。请参阅进一步阅读
关于configuration - 以编程方式创建 gitlab-ci.yml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47042526/