CICD實現(xiàn)及環(huán)境搭建

一、實現(xiàn)流程

1、運(yùn)維管理員創(chuàng)建gitlab項目,創(chuàng)建Jenkins項目

2、開發(fā)人員將code提交到對應(yīng)的gitlab中(可按分支觸發(fā))

3、gitlab通過webhook觸發(fā)對應(yīng)Jenkins項目

4、進(jìn)入CI環(huán)節(jié):將code集成進(jìn)標(biāo)準(zhǔn)的docker鏡像中,并進(jìn)行測試;

? ? ? ? ? ?集成及測試成功,則將集成后的鏡像上傳至倉庫中;

? ? ? ? ? ?集成或測試失敗,則結(jié)束本次Jenkins,并將原因通過郵件發(fā)送給開發(fā)者與運(yùn)維管理員。

5、進(jìn)入CD環(huán)節(jié):

? ? ? ? ? ?通過Ansible將CI集成成功的鏡像部署到已定義的所有機(jī)子中,并進(jìn)行測試。

? ? ? ? ? ?如測試通過完成本次部署,如測試失敗將判定該項目是否為第一次部署的;

? ? ? ? ? ?如該項目不是第一次部署的,則滾回到上一版本的容器,并將原因通過郵件發(fā)送給運(yùn)維管理員。

二、部署步驟

備注:使用的docker-compose未公開

1、安裝docker

2、安裝docker-compose

3、安裝ansible

4、安裝git

#yum install -y docker docker-compose ansible git


5、添加阿里云docker源:

vi /usr/lib/systemd/system/docker.service

--registry-mirror=https://jxus37ad.mirror.aliyuncs.com

systemctl restart docker 重啟docker


6、拉去共有鏡像

docker pull sameersbn/redis

docker pull sameersbn/postgresql:9.6-2

docker pull sameersbn/gitlab:9.2.7

docker pull docker.io/jenkins

docker pull docker.io/registry:2.3


驗證:

#docker ?images

#docker-compose ?-v

#ansible ?all ?-m ?ping


6、創(chuàng)建以下目錄及文件

mkdir -p /home/jenkins 用于掛載jenkins

chmod -R 777 /home/jenkins

mkdir -p /home/registry 用于掛載registry 配置文件

mkdir -p /home/registry/auth 用于掛載登錄倉庫賬號密碼的目錄

touch /home/registry/config.yml 創(chuàng)建registry配置文件,無須自定義配置可跳過此步。

htpasswd -Bbn test 123456 > /home/registry/auth/htpasswd

創(chuàng)建登錄倉庫密碼,若無需密碼認(rèn)證,可跳過此步

mkdir -p /srv/docker/gitlab/redis 用于掛載redis

mkdir -p /srv/docker/gitlab/postgresql 用于掛載postgresql

mkdir -p /srv/docker/gitlab/gitlab 用于掛載gitlab


更改“docker-compose-registry.yml”中的,GITLAB_HOST=


7、保證以下端口對外網(wǎng)開放

ports 10080

ports 10022

ports 8080

ports 50000

ports 5000


8、啟動容器

docker-compose -f "./docker-compose-registry.yml" up -d 拉取registry容器

docker-compose -f "./docker-compose-jenkins.yml" up -d 拉取jenkins容器

docker-compose -f "./docker-compose-gitlab.yml" up -d 拉取gitlab容器,及依賴容器

驗證:

8.1、是否拉取了五個容器

8.2、驗證倉庫

docker login -u users -p passwd HOST:PORT

如返回:Login Succeeded 則正確可用

8.3、驗證gitlab、jenkins

訪問對應(yīng)默認(rèn)頁面即可;備注:容器拉取后越后2-3分鐘安裝時間。


9、jenkins基本配置

cd /home/jenkins/secrets/initialAdminPassword 查看安裝密碼

將安裝密碼填入,并進(jìn)行安裝。


下載插件

Gitlab Plugin GitLab觸發(fā)jenkins構(gòu)建項目所需插件

Gitlab Hook Plugin 同上

Build Authorization Token 同上

Multijob Plugin 支持多個job之間的串并聯(lián)

SSH Plugin 支持ssh鏈接主機(jī)插件

10、創(chuàng)建gitlab 項目

11、創(chuàng)建 jenkins項目及配置CICD

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容