我们正在考虑将我们的ci从jenkins转移到gitlab.我们有几个项目具有相同的构建工作流程.现在我们使用一个共享库来定义管道,项目中的jenkinsfile只调用定义实际管道的共享库中定义的方法.因此,只需要在影响多个项目的单个点上进行更改.
我想知道gitlab ci是否可以实现相同的功能?据我所知,无法在存储库外定义gitlab-ci.yml.是否有另一种方法来定义管道并与多个项目共享此配置以简化维护?
pipeline shared-libraries jenkins gitlab-ci jenkins-pipeline
我们有很多项目,每个项目都有自己的 git 存储库。我想用 Jenkins 2 多分支管道作业来构建它们。每个存储库都有一份工作。每个项目的 Jenkinsfile 看起来都是一样的,对构建过程所做的更改需要推广到每个项目。这些更改可以是构建步骤中的小修复或添加完整的新构建步骤。
为了保持尽可能高的可维护性,我想只使用一个Jenkinsfile 并将其包含在每个项目中,因此我只需修改这个 Jenkinsfile 即可修改所有项目构建工作流程。
是否有可能(以及如何)实现这一目标?将一个 Jenkinsfile 部署到一堆存储库,以便我只需更改一个文件即可更改所有构建作业?
我知道可以使用shared libraries,我可以在其中定义构建步骤的执行代码。但如果想添加一个完整的新构建步骤,我仍然必须修改所有我不想做的 jenkins 文件。所以我真的在寻找一种方法来共享所有项目的整个 Jenkinsfile(如果可能的话)。