在 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=]。
希望对您有所帮助!
相关文档:
我们计划使用 JTE(Jenkins 模板引擎)在我们的组织中创建管道。将有许多管道将使用此模板。潜在地,模板中的任何更改都可能破坏某些管道。为避免这种情况,我们希望在模板中实施版本控制,以确保模板中的任何更改都不会破坏现有管道。
这适用于将使用模板中定义的 Jenkinsfile 的 gradle 个项目。 我们有一个选择是使用不同的分支,但这很混乱。有没有人为 JTE 做过这样的事情?
@Steven-terrana
刚看到这个!我建议使用 gitter 频道或在 github.com/jenkinsci/templating-engine-plugin 提出问题以获得最快的响应!
我不确定是否有人尝试实现该特定用例,但我可以根据您的具体要求想到两种主要的处理方式。
如果您尝试对模板进行版本控制并同时将新版本应用于所有人,那么我建议为您的治理层存储库创建发布分支供团队使用,然后更新您指向的版本.如果您还将您的管道库放入此存储库中,那么它的好处是将所有内容打包到一个版本中,以便库和模板的版本保持在一起。
如果你想拥有多个版本的模板并允许团队在方便时升级,那么我建议使用 pipeline_templates 目录具有命名模板的能力。您可以为每个版本创建一个不同的文件(即命名为 v1、v2 等),然后允许团队通过 pipeline_template="v1"[= 在他们的配置文件中选择他们的模板32=]。
希望对您有所帮助!
相关文档: