閱讀705 返回首頁    go 阿裏雲 go 技術社區[雲棲]


基於Docker容器的,Jenkins、GitLab構建持續集成CI 之一 Jenkins容器構建

一、場景:
開發者將代碼提交(push)到GitLab後,GitLab通過Hook通知jenkins,jenkins自動從GitLab中獲取項目最新的源碼進行集成和發布。

二、準備:
基於Docker,創建一個私有GitLab的容器,創建一個jenkins的容器

三、步驟
1、構建Jenkins容器
Jenkins容器安裝Jenkins的rpm包,Jenkins依賴 JDK,所以需要在Jenkins的容器中安裝配置jdk,本人使用jdk1.8,同時需要Jenkins的容器調用maven的打包命令,所以也需要配置安裝maven,本人使用maven 3.3.9。
a.通過Dockerfile構建一個jenkins容器,基於centos7的鏡像。

這裏不推薦將一個基礎鏡像一次性打包成完整的應用鏡像,建議構建三層鏡像模型。

所謂三層鏡像就是,基礎鏡像,中間件鏡像,應用鏡像。例如我要構建一個Jenkins 的鏡像,打包一個基於Centos7 和一些常用工具的鏡像就是基礎鏡像,例如叫Centos7-base。然後這裏Jenkins依賴Java和Maven,所以在基於Centos7-base的基礎上安裝配置java及maven後,再打包的鏡像為中間件鏡像,例如叫Centos7-jdk8-mvn3,這層中間件的鏡像我們為來的複用會很高,以後隻要有基於java1.8和maven3的,就可以直接使用這個鏡像進行構建。最後我們再在Centos7-jdk8-mvn3的基礎上安裝配置jenkins,最後打包運用在生產環境。

最後更新:2017-05-30 23:31:27

  上一篇:go  Docker 構建持續集成CI之二 私有化GitLab容器的構建
  下一篇:go  融入產業生態的靶向孵化