Jenkins使用docker構建
Jenkins master要將構建任務分配給Docker,就必須在Jenkins agent上安裝Docker。建議給這些agent打上docker的標籤。
在Jenkins agent上安裝Docker注意
要將 Jenkins agent 的用戶加入Docker的用戶組中,這樣Jenkins agent不需要加sudo就能執行docker命令。如果不生效,則可能需要重啟Jenkins agent。
使用Docker構建
pipeline插件從2.5版本開始就內置了Docker插件
![Jenkins使用docker構建](http://p2.ttnews.xyz/loading.gif)
與之前不同的,在agent部分我們將node換成了docker。下面分別解釋docker的常用選項。
• label(可選):字符串類型,與node的label的作用一樣。
• image:字符串類型,指定構建時使用的Docker鏡像。
• args(可選):字符串類型,Jenkins執行docker run命令時所帶的參數,如args'-v/tmp:/tmp'。
• alwaysPull(可選):布爾類型,強制每次執行docker pull命令時都重新拉取鏡像。
配置Docker私有倉庫
Docker拉取鏡像時,默認是從Docker官方中心倉庫拉取的。那麼如何實現從私有倉庫拉取呢?
Docker插件為我們提供了界面操作,具體步驟如下:
進入Manage Jenkins→Configure System頁面,找到“Pipeline Model Definition”部分
![Jenkins使用docker構建](http://p2.ttnews.xyz/loading.gif)
• Docker Label:當 pipeline 中的 agent 部分沒有指定 label 選項時,就會使用此配置。如docker {image'maven:3-alpine'}。
• Docker registry URL:Docker私有倉庫地址。
• Registry credentials:登錄Docker私有倉庫的憑證。
閱讀更多 昂迪梵德 的文章