需要完成的目標
- 使用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
點擊進行執行
運行后,可以對具體的查看狀態。