gpt4 book ai didi

git - 在不同的项目中重用 Jenkinsfile

转载 作者:行者123 更新时间:2023-12-02 00:44:33 25 4
gpt4 key购买 nike

场景:

我们有很多项目,每个项目都在自己的 git 存储库中。我想用 Jenkins 2 多分支管道作业构建它们。每个存储库一个作业。每个项目的 Jenkinsfile 看起来都一样,对构建过程所做的更改需要推广到每个项目。这些更改可以是构建步骤中的小修复或添加完整的新构建步骤。

想法:

为了保持尽可能高的可维护性,我只想使用一个 Jenkinsfile 并将其包含在每个项目中,因此我只需修改这个 Jenkinsfile 即可修改所有项目构建工作流。

问题

是否有可能(以及如何)实现这个目标。将一个 Jenkinsfile 部署到一堆存储库,这样我只需更改一个文件即可更改所有构建作业?

额外的

我知道可以使用共享库,我可以在其中定义构建步骤的执行代码。但是如果想添加一个完整的新构建步骤,我仍然必须修改我不想做的所有 jenkinsfiles。因此,如果可能的话,我真的在寻找一种为所有项目共享整个 Jenkinsfile 的方法。

到目前为止已经尝试过

  1. 我想使用全新的功能来告诉 Jenkins jenkinsfile 的位置,并使用子模块将其包含在每个项目中。但这似乎不起作用,因为 Jenkins 似乎在 git-Server 上寻找 Jenkinsfile,因为它是一个子模块,所以它永远不会出现......

最佳答案

不仅可以将流水线步骤放入共享库中。也可以将完整的管道作为全局变量放入共享库中。使用这种方法,每个存储库中的 Jenkinsfile 只需要一行代码。您可以在一个地方(在共享库中)修改所有项目的管道。

请参阅我的示例:Jenkins pipeline template

Jenkins Documentation 中也有一个关于此主题的小部分:https://jenkins.io/doc/book/pipeline/shared-libraries/#defining-a-more-structured-dsl

关于git - 在不同的项目中重用 Jenkinsfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44625582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com