1

我希望了解如何最好地处理以下问题。

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

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 个独立的应用程序,这些应用程序在此过程中都相互连接。

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

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

谢谢

4

1 回答 1

0

如果我对您的需求有所了解,您想定义一个可用于构建主分支或任何其他功能分支的构建脚本。

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

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

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

这是基本的想法。

于 2016-12-05T18:03:40.483 回答