2

基本上我想我Jenkinsfile看起來是這樣的:我可以在共享庫中定義和參數化整個聲明式管道嗎?

@Library('my-descriptive-pipline') _ 
myPipeline('arg1','arg2','arg3') 

然後我的共享庫(/vars/descriptivePipeline.groovy)是這樣的:

pipeline { 
    agent any 
    options { 
     skipDefaultCheckout() 
    } 
    environment { 
    } 
    stages { 
     stage('stageA') { 
      steps { 
       ... Do something with arg1, arg2 or arg3 
      } 
     } 
     stage('stageB') { 
      steps { 
       ... Do something with arg1, arg2 or arg3 
      } 
     } 
    .... 

我想集中管道配置,所以我不必擔心詹金斯文件蔓延。這是可能的聲明管道?

回答

2

從聲明式管道1.2開始,現在可以在共享庫中定義整個管道。

你可以找到更多herehere

1

不,目前無法共享完整的聲明式管道。這可能的腳本管道:

開始報價: 「的聲明選項是好的,但你將失去通過共享庫中提取出可重用代碼的能力。例如,你不能做到這一點尚未:從的Cuong陳德良

MyCompanyStandardPipeline { 
    ... // which will plugin standard sections... 
} 

最終報價在jenkins users mailing list

您可以使用共享庫或者Jenkinsfile變種,作爲連接線的下一答覆指出,但只有腳本可以共享一個完成管道。

+0

我可以在腳本管道中發佈操作嗎?我認爲這只是爲了聲明權利? – red888

+0

'post'節是一個聲明性的東西,但是你可以通過在Jenkinsfile中繼續寫更多的代碼來在腳本管道中執行相同的操作。 :d – burnettk

1

由於shared libraries plugin documentation狀態:

定義聲明管道

與聲明1.2開始,在9月下旬,2017年發佈的,你 可以定義聲明管道也在你的共享庫中。

這是相當新的,所以可能仍然有一些錯誤,但它應該工作。不要忘記升級共享庫和聲明式插件。

相關問題