Jenkins2 外掛 Pipeline+BlueOcean 實現持續交付的初次演練

YatHo發表於2017-04-28

需要完成的目標

  • 使用Pipeline完成專案的checkout,package、deploy、restart
  • 提取出公有部分封裝為公有JOB
  • 實現pipeline對其他JOB的呼叫和邏輯的判斷
  • 實現任務的指定呼叫
  • 實現多節點同時併發build
  • 結合外掛Open Blue Ocean

Pipeline的基礎程式碼

  收集了一些程式碼案例,可以自行查閱,不在囉嗦。

  jenkins2 pipeline入門:http://www.cnblogs.com/itech/p/5633948.html

  jenkins2 pipeline高階:http://www.cnblogs.com/itech/p/5646219.html

  jenkins2 pipeline外掛的10個最佳實踐:http://www.cnblogs.com/itech/p/5678643.html

提取出公有部分封裝為公有JOB,在另一個JOB中引用

  JOB初始化、容器、分發分成了三個部分作為共有JOB進行管理。

  場景描述:同一專案組有若干個模組,其有較高的耦合性,而且步驟均一致。只有SVN、補丁內容,等引數,所以採用提取這部分作為一個引數化job,每個模組構建步驟採用pipeline傳遞自身特有引數的方式觸發構建。

實現pipeline對任務邏輯的判斷

  注意:jenkins中的boolean值似乎只是值的指定,通過shell可以直接if判斷,但在goory裡面我這裡用的判斷等於

		//更新bus容器
        if (XD_Env_BUS_Update_Start == 'true') { 
            println "XD_Env_BUS_Update_Start - 更新" 
            build job: 'XD_Env_BUS_Update_Start', parameters: [string(name: 'Env', value: BD_Env), string(name: 'BD_Dir', value: BD_Dir)]
        } else { 
            println "XD_Env_BUS_Update_Start - 不更新" 
        } 

實現多節點同時併發build

  實現多節點,主要是為了加快時間

 

JOB的演示

切換進入BlueOcean 

 

點選進行執行

 

執行後,可以對具體的檢視狀態。

 

相關文章