Jenkins2 插件 Pipeline+BlueOcean 實現持續交付的初次演練


需要完成的目標

  • 使用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 

 

點擊進行執行

 

運行后,可以對具體的查看狀態。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM