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

时间:2017-02-06 13:36:15

标签: jenkins continuous-integration jenkins-pipeline continuous-deployment

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

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

Jenkins是否可以,或者我是否需要重新评估我的方法或使用其他CI系统?

2 个答案:

答案 0 :(得分:0)

如果使用的是每个环境分支git策略,则

@rednax答案有效。但是,如果您使用的是git-flow(或者您认为可能会在没有人为干预的情况下传播更改以掌握/生产的任何策略)来进行掌握/生产,则您会头疼,合并将覆盖脚本/变量。

我们使用了一组与环境名称匹配的文件夹:Infrastructure / Jenkinsfile包含公共步骤,而Infrastructure / test / Jenkinsfile包含特定于测试环境的步骤(文件夹还包含Dockerfile和cloudformation脚本)。您可以通过级联包含或文件合并来使其变得非常复杂,或者在每个文件夹中仅具有几乎相同的副本。

答案 1 :(得分:-2)

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