Git Jenkins:使用来自另一个回购协议的Jenkins文件构建多分支管道
所以我尝试为几个不同的项目建立一个多分支管道 这些是基本要求:Git Jenkins:使用来自另一个回购协议的Jenkins文件构建多分支管道,git,jenkins,jenkins-pipeline,Git,Jenkins,Jenkins Pipeline,所以我尝试为几个不同的项目建立一个多分支管道 这些是基本要求: 每个客户机有三个作业:开发、阶段和产品 对于每个作业,从每个回购中提取相应的分支并构建一个bot 如果作业正在使用的repo中有任何更改,则触发该环境的生成 所以这些要求非常简单 但还有第四个要求。我想弄清楚的是,我是否可以有一个回购协议,它可以保存我所有的Jenkins文件,然后构建另一个回购协议的所有分支。这可能吗?所有其他答案似乎都指向不推荐的解决方案,例如自由式多分支项目 是否可以使用来自另一个回购协议的Jenkins文件构
jenkins文件创建回购协议(每个分支机构、每个客户、每个环境…随便什么)。
每个Jenkinsfile
将描述在每个特定情况下要执行的阶段。使用
Jenkinfile
添加到您的产品回购中,您可以使用自定义管道签出专用回购,加载管道并执行它git@github.com:your org/custom-pipelines.git/Jenkinsfile-dev git@github.com:您的org/product-repo.git/Jenkinsfile
非常感谢WindyFields,这非常有帮助。
// Jenkinsfile-dev
def stages() {
stage ("Checkout") {
checkout scm
}
stage ("Build") {
}
stage ("Test") {
}
}
return this
// Jenkinsfile
node ("ubuntu") {
// Checkout custom Jenkinsfiles
stage ("Checkout pipelines") {
git url: "git@github.com:your-org/custom-pipelines.git",
branch: "master",
credentialsId: "github-ssh"
}
load ("Jenkinsfile-${env.BRANCH_NAME}").stages()
}