Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

       Jenkins Pipeline是一套插件,支持將連續輸送Pipeline實施和整合到Jenkins。Pipeline提供了一組可擴展的工具,用於通過PipelineDSL爲代碼創建簡單到複雜的傳送Pipeline。
         對於單個項目來說,使用這樣的Pipeline來構建能夠滿足絕大部分需求,但是這樣做也有很多缺陷,包括: 

多個項目的Pipeline打包腳本不能公用,導致一個項目寫一份腳本,維護比較麻煩。
Jenkins提供了一個更優雅的管理Pipeline腳本的方式,在配置項目Pipeline的時候,選擇Pipeline script from SCM。
這樣,Jenkins在啓動job的時候,首先會去倉庫裏面拉取腳本,然後再運行這個腳本。在腳本里面,我們規定的構建方式和流程,就會按部就班地執行。
接下來我們來實踐下。

        環境:Docker
        容器管理平臺:Rancher
        語言:Java

**  Jenkins安裝**
                略

**Pipeline插件安裝**
            流水線插件
            系統管理--->管理插件--->可選插件--->搜索pipeline--->點擊直接安裝

Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

  **extended choice parameter插件安裝**:
    參數化構建過程,構建的時候可以多選框來選擇要構建的項目模塊
    系統管理--->管理插件--->可選插件--->搜索extended choice parameter---->點擊直接安裝

Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

    新建一個pipeline的job
    點擊參數構建化

Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

    新建分支版本參數

Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

    新建項目名稱參數

Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

    新建rancher id環境變量

Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

  新建rancher應用分類

Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

流水線配置   

Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)
Repositories Jenkinsfile腳本所在分支
Branches to build是Jenkinsfile所在分支

腳本
Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)
Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)
Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)
這邊只要修改每個job的參數上面的某些變量即可,無需更改構建腳本,不管幾個Job,都可共同一個腳本。
我這邊只是舉一個簡單的例子,大家實際應用中,需要轉變思路。

完整的學習pipeline構建教程,點擊以下視頻教程觀看。

企業級Docker+Jenkins+Gitlab自動化構建實踐

http://edu.51cto.com/course/14600.html
Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

更新精彩內容關注公衆號
Jenkins Pipeline+Docker實現流水線自動化構建(上百個項目共用一個腳本方案)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章