基於docker搭建Jenkins+Gitlab+Harbor+Rancher架構實現CI/CD操作


一、各個組件的功能描述:

Docker 是一個開源的應用容器引擎。

Jenkis 是一個開源自動化服務器。

(1).負責監控gitlab代碼、gitlab中配置文件的變動;

(2).負責執行鏡像文件的構建、上傳與下載;

(3).通過Rancher插件系統構建stack/service;

 

GitLab: 是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具。

(1).保存項目配置文件;

(2).nginx定制配置文件;

(3).Dockerfile文件;

Harbor:開源的docker鏡像倉庫管理系統,比較方便管理維護鏡像。

(1)負責構建后鏡像的存儲

rancher:容器編排管理工具。

(1)通過API負責接受jenkins的調用,自動創建、更新stack/service;

(2)實現服務的擴容縮容

二、流程導圖說明:

① 開發人員提交代碼提交到gitlab

②gitlab鈎子會觸發jenkins執行下載對應項目的env、nginx配置文件、Dockerfile和最新版本的代碼

③jenkins執行shell腳本:composer安裝laravel插件和npm安裝模塊,編譯生成js文件。完好的代碼通過docker build Dockerfile 指令打包成鏡像

④上傳構建好的鏡像push到harbor鏡像倉庫

⑤jenkins借助Rancher的插件通過API與rancher交互更新service達到更升級容器的目的(也就是更新代碼版本),其中pull鏡像的這一步會通過saltstack並行從harbor上下拉之前構建好的鏡像到多個主機上

以上流程完整的實現了CI\CD,這里主要是jenkins部分是關鍵位置之一。

三、從零開始搭建

1.首先檢查虛擬機的版本(centos7,內核3.10及以上)

 

 

 2.安裝JDK1.8

3.確保yum 包更新到最新(截圖就不發了...更新包比較多)

yum -y update(可能需要點時間去更新)

systemctl disable firewalld.service(永遠關閉防火牆)

 以上內容最好安裝在原始機器上面(專門准備一台虛擬機安裝JDK插件,然后其他的安裝通過克隆,然后在進行安裝)

四、安裝docker容器(對以上操作的集群克隆一台,需要MAC地址)

(1).卸載

舊版本:

yum remove docker docker-common docker-selinux docker-engine

(2).安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的

yum install -y yum-utils device-mapper-persistent-data lvm2

(3).設置yum源

yum -y install yum-utils、

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

(4).查看可用的所有倉庫中所有docker版本

yum list docker-ce --showduplicates | sort -r

(5).安裝docker

sudo yum install -y docker-ce

(7).設置開機並加入開機自啟動

         systemctl start docker

         systemctl enable docker

(8).查看docker的版本(檢查是否安裝成功,以及相關的版本)

          docker version(表明docker安裝成功)

        

 

(9). 安裝docker-compose

       

 五、安裝gitlab(代碼管理器)---使用docker進行安裝

  (1).下載鏡像文件

docker pull beginor/gitlab-ce:11.0.1-ce.0

(2).創建etc、log、data目錄,便於日后升級

     mkdir -p /mnt/gitlab/etc

     mkdir -p /mnt/gitlab/log

     mkdir -p /mnt/gitlab/data

(3).運行gitlab容器

docker run \

    --detach \

    --publish 8443:443 \

    --publish 8090:80 \

    --name gitlab \

    --restart always \

    -v /mnt/gitlab/etc:/etc/gitlab \

    -v /mnt/gitlab/log:/var/log/gitlab \

    -v /mnt/gitlab/data:/var/opt/gitlab \

    beginor/gitlab-ce:11.0.1-ce.0 

。。。。。。。。時間關系未完待續........以上情況,親自安裝步驟並實現....

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM