我在一个带有 2 个工件的 monorepo 中有一个项目:一个前端和一个后端。
my-project
frontend
Jenkinsfile
backend
Jenkinsfile
我想使用 Blue Ocean 和多分支管道,但有没有办法使用两个Jenkinsfile
和两个管道?Afaik,Jenkinsfile 需要位于 repo 的根目录。
否则,我将使用经典管道,但我需要为每个新分支创建一个新管道,这很痛苦。
我在一个带有 2 个工件的 monorepo 中有一个项目:一个前端和一个后端。
my-project
frontend
Jenkinsfile
backend
Jenkinsfile
我想使用 Blue Ocean 和多分支管道,但有没有办法使用两个Jenkinsfile
和两个管道?Afaik,Jenkinsfile 需要位于 repo 的根目录。
否则,我将使用经典管道,但我需要为每个新分支创建一个新管道,这很痛苦。
创建两个多分支管道:MyProjectFrontEnd 和 MyProjectBackEnd。
然后在 Jenkinsfile 你有以下
#!/usr/bin/env groovy
// Get MyProjectFrontEnd from MyProjectFrontEnd/master
switch(env.JOB_NAME.split("/")[0])
{
case 'MyProjectFrontEnd':
project = 'front'
break
case 'MyProjectBackEnd':
project = 'back'
break
default
project = ''
break
}
if (project == 'front') {
// Place your build steps here for front
}
if (project == 'back') {
// Place your build steps here for back
}
现在,您的单个 Jenkinsfile 将确定哪个管道作业正在构建它,然后运行正确的管道。
或者,您可以创建一个管道,您只需在交换机中实例化正确的变量,以便构建正确的工件。
没有使用过 Blue Ocean,我不确定这些管道的可视化效果如何。