Jenkins Pipeline是一套插件,支持將連續輸送Pipeline實施和整合到Jenkins。Pipeline提供了一組可擴展的工具,用於通過PipelineDSL爲代碼創建簡單到複雜的傳送Pipeline。
對於單個項目來說,使用這樣的Pipeline來構建能夠滿足絕大部分需求,但是這樣做也有很多缺陷,包括:
多個項目的Pipeline打包腳本不能公用,導致一個項目寫一份腳本,維護比較麻煩。
Jenkins提供了一個更優雅的管理Pipeline腳本的方式,在配置項目Pipeline的時候,選擇Pipeline script from SCM。
這樣,Jenkins在啓動job的時候,首先會去倉庫裏面拉取腳本,然後再運行這個腳本。在腳本里面,我們規定的構建方式和流程,就會按部就班地執行。
接下來我們來實踐下。
環境:Docker
容器管理平臺:Rancher
語言:Java
** Jenkins安裝**
略
**Pipeline插件安裝**
流水線插件
系統管理--->管理插件--->可選插件--->搜索pipeline--->點擊直接安裝
**extended choice parameter插件安裝**:
參數化構建過程,構建的時候可以多選框來選擇要構建的項目模塊
系統管理--->管理插件--->可選插件--->搜索extended choice parameter---->點擊直接安裝
新建一個pipeline的job
點擊參數構建化
新建分支版本參數
新建項目名稱參數
新建rancher id環境變量
新建rancher應用分類
流水線配置
Repositories Jenkinsfile腳本所在分支
Branches to build是Jenkinsfile所在分支
腳本
這邊只要修改每個job的參數上面的某些變量即可,無需更改構建腳本,不管幾個Job,都可共同一個腳本。
我這邊只是舉一個簡單的例子,大家實際應用中,需要轉變思路。
完整的學習pipeline構建教程,點擊以下視頻教程觀看。
企業級Docker+Jenkins+Gitlab自動化構建實踐
http://edu.51cto.com/course/14600.html
更新精彩內容關注公衆號