Jenkins使用docker構建

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構建

與之前不同的,在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構建

• Docker Label:當 pipeline 中的 agent 部分沒有指定 label 選項時,就會使用此配置。如docker {image'maven:3-alpine'}。

• Docker registry URL:Docker私有倉庫地址。

• Registry credentials:登錄Docker私有倉庫的憑證。


分享到:


相關文章: