需要完成的目標
- 使用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
點選進行執行
執行後,可以對具體的檢視狀態。