Jenkins Pipeline每个分支环境变量配置

问题描述 投票:3回答:2

我在Jenkins安装上设置了几个Jenkins Pipeline作业,所有这些作业都在存储库中有一个Jenkinsfile

这些管道针对所有分支运行,并包含构建和部署分支所需的所有步骤。但是,不同分支在构建和部署方面存在一些差异,我希望能够为不同的分支配置不同的环境变量。

这可能与詹金斯有关,还是我需要重新评估我的方法或使用另一个CI系统?

jenkins continuous-integration jenkins-pipeline continuous-deployment
2个回答
-2
投票

配置作业时,您可以指定Jenkins从您运行的分支中获取脚本(Jenkins文件)。这意味着从技术上讲,您可以调整每个分支上的脚本以在那里设置参数。或者,您可以从相同的源控制位置获取脚本,但在每个分支中提交配置文件,并在检出后让脚本读取该文件。


0
投票

如果您使用的是每个环境分支的git策略,则@rednax回答有效。但是,如果您正在使用git-flow(或任何策略,您认为更改将被传播,可能没有人为干预,掌握/生产),您将遇到麻烦,合并将覆盖脚本/变量。

我们使用一组与环境名称匹配的文件夹:infrastructure / Jenkinsfile包含常用步骤,infrastructure / test / Jenkinsfile包含特定于测试环境的步骤(文件夹还包含Dockerfiles和cloudformation脚本)。您可以使用级联包含或文件合并使其非常复杂,或者只是在每个文件夹中使用几乎相同的每个文件副本。

© www.soinside.com 2019 - 2024. All rights reserved.