2016-12-05 34 views
1

我期待着了解如何最好地处理以下问题。用Jenkinsfile处理变量变量

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

node { 
    stage 'Build stage 1' 
    git branch: 'master', credentialsId: '${JENKINS_CREDENTIALS_ID}', url: '[email protected]:application_1' 

    stage 'Build stage 2' 
    git branch: 'master', credentialsId: '${JENKINS_CREDENTIALS_ID}', url: '[email protected]:application_2' 

    stage 'Build stage 3' 
    git branch: 'master', credentialsId: '${JENKINS_CREDENTIALS_ID}', url: '[email protected]:application_3' 


} 

所以它建立3个,所有在此过程中相互连接的单独的应用程序。

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

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

感谢

回答

0

如果我理解你的需求一些,你要定义一个可以用来建立主分支,或任何其他特性分支构建脚本。

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

您可以将该变量默认为“master”。

您从任何正在监视存储库中提交事件的任务生成构建,并且它会执行“buildWithParameters”Jenkins URL并传递分支名称。

这就是基本的想法。

+0

嗨,我理解与参数的构建,但并不是所有的分支将是相同的名称,他们可能都是不同的。有任何想法吗?谢谢 – Richlewis