3

我在monorepo中有兩個工件:前端和後端。如何使用帶monorepo的jenkins多分支管道

my-project 
    frontend 
    Jenkinsfile 
    backend 
    Jenkinsfile 

我想用藍海和多分支管道,但有沒有使用兩個Jenkinsfile和兩個管道的方法嗎? Afaik,Jenkinsfile需要在回購的根源。否則,我將使用經典的管道,但是我需要爲每個新的分支創建一個新的管道,這很痛苦。

+1

這可能會解決你的問題,但我很好奇什麼_internal document_說https://issues.jenkins-ci.org/browse/JENKINS-43749 – dag

回答

0

創建兩條多分支管道: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將決定哪個管道作業構建它,然後運行正確的管道。

或者,您可以製作一個管道,您只需在交換機中實例化正確的變量,以便構建正確的工件。

沒有使用藍色海洋,我不確定這些管道可視化的效果如何。

相關問題