使用Jenkinsfile处理更改变量

时间:2016-12-05 08:41:07

标签: git jenkins jenkinsfile

我希望了解如何最好地处理以下内容。

我的主分支上有一个运行类似

的Jenkins文件
node {
  stage 'Build stage 1'
    git branch: 'master', credentialsId: '${JENKINS_CREDENTIALS_ID}', url: 'git@github.com:application_1'

  stage 'Build stage 2'
    git branch: 'master', credentialsId: '${JENKINS_CREDENTIALS_ID}', url: 'git@github.com:application_2'

  stage 'Build stage 3'
    git branch: 'master', credentialsId: '${JENKINS_CREDENTIALS_ID}', url: 'git@github.com:application_3'


}

因此,它构建了3个独立的应用程序,这些应用程序在此过程中都相互连接。

我要做的是有一种方法,当创建一个功能分支时,构建需要在每个应用程序的不同分支上运行。虽然可以手动更改并提交,但是当完成任何合并到主服务器中时,该信息仍然存在,然后更改主构建。

有没有一种有效的方法来处理这种设置?

由于

1 个答案:

答案 0 :(得分:0)

如果我在某种程度上了解您的需求,您需要定义一个构建脚本,该脚本可用于构建主分支或任何其他功能分支。

然后,基本思想是使分支成为构建的参数。您可以为Jenkins构建作业定义参数,并在管道脚本中将这些参数呈现为Groovy变量。

您可以将变量默认为" master"。

您从正在观察存储库中的提交事件的任何内容中生成构建,并且您可以执行" buildWithParameters" Jenkins URL,传递分支名称。

这是基本想法。