在 Jenkins 模板引擎中实现版本控制

Implementing versioning in Jenkins Templating Engine

我们计划使用 JTE(Jenkins 模板引擎)在我们的组织中创建管道。将有许多管道将使用此模板。潜在地,模板中的任何更改都可能破坏某些管道。为避免这种情况,我们希望在模板中实施版本控制,以确保模板中的任何更改都不会破坏现有管道。

这适用于将使用模板中定义的 Jenkinsfile 的 gradle 个项目。 我们有一个选择是使用不同的分支,但这很混乱。有没有人为 JTE 做过这样的事情?

@Steven-terrana

刚看到这个!我建议使用 gitter 频道或在 github.com/jenkinsci/templating-engine-plugin 提出问题以获得最快的响应!

我不确定是否有人尝试实现该特定用例,但我可以根据您的具体要求想到两种主要的处理方式。

如果您尝试对模板进行版本控制并同时将新版本应用于所有人,那么我建议为您的治理层存储库创建发布分支供团队使用,然后更新您指向的版本.如果您还将您的管道库放入此存储库中,那么它的好处是将所有内容打包到一个版本中,以便库和模板的版本保持在一起。

如果你想拥有多个版本的模板并允许团队在方便时升级,那么我建议使用 pipeline_templates 目录具有命名模板的能力。您可以为每个版本创建一个不同的文件(即命名为 v1、v2 等),然后允许团队通过 pipeline_template="v1"[= 在他们的配置文件中选择他们的模板32=]。

希望对您有所帮助!

相关文档:

Pipeline Template Selection

Governance Tiers