从另一个分支上的另一个回购构建Jenkins管道(作业)



我想做的事情看起来并不那么复杂,但也不那么容易,但我现在读到的内容似乎让我看起来像是在发射火箭。

基本上,假设我有

my-deploys-repo with branches: master, develop
my-tools-repo with whatever branches
Inside my-tools-repo I have: Jenkinsfile-push-events ( jenkins pipeline )
Inside my-deploys-repo I have ON DEVELOP BRANCH: Jenkinsfile-deploy (which also gets some params, if it matters )

我如何从我的部署repo的开发分支from Jenkinsfile推送事件触发Jenkinsfle部署作业?

我知道通常我会做一些类似(在Jenkinsfile推送事件中(的事情

stage('Deploy') {
steps {
script {
build job: '../my-deploys-repo/Jenkinsfile-deploy'   
}
}

但它在另一个分支上似乎是个问题。

Jenkins中的作业在其属性中有其定义,并且已经包括Jenkinsfile,因此您不能触发"Jenkinsfile";而不定义首先使用该Jenkinsfile的Job。

如果有两个分支,则需要一个"多分支管道"作业。

假设您创建了一个新的Multibranch Pipeline作业——假设MyJob是它的名称——它被配置为使用您的repo(my-deploys-repo.git(和Jenkinsfile的路径(Jenkinsfile-deploy.groovy(。然后,您可以通过以下方式触发该作业:

build job: "MyJob/develop", wait: false, propagate: false,
parameters: [
string(name: 'PARAM_1', value: "1"),
string(name: 'PARAM_2', value: "maybe"), //etc.
] 

最新更新