自動化部署(持續集成/CI+持續交付/CD)不只能夠提高開發效率,讓程序員更專一產品與業務的開發,還能夠節省不少運維成本以及提高運維效率。其中,Jenkins是自動化部署中最流行的工具,尤爲是Docker+Jenkins的完美搭配,每一個程序員都應該掌握這兩個工具的使用。
環境配置
操做系統:CentOS Linux release 7.6.1810
Docker 版本:19.03.5
Jenkins 版本:2.204.1
Docker安裝Jenkins
Docker下載Jenkins
docker pull jenkins/jenkins:lts //最新版
查看Jenkins鏡像
docker images
docker inspect jenkins鏡像ID

建立一個Jenkins目錄
mkdir /data/jenkins_home;
安裝啓動Jenkins容器
docker run -d --name jenkins -p 8081:8080 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts;
備註:
-d //啓動在後臺
--name //容器名字
-p //端口映射(8081:宿主主機端口,8080:容器內部端口)
-v //數據卷掛載映射(/data/jenkins_home:宿主主機目錄,另一個便是容器目錄)
enkins/jenkins:lts //Jenkins鏡像(最新版)
查看Jenkins啓動狀況
docker ps | grep jenkins;

安裝過程遇到的小問題
Jenkins容器docker run以後狀態老是Exited
查看docker日誌 :
docker logs jenkins
發現是目前權限問題
由於/data/jenkins_home 目錄是root權限


解決:
chown -R 1000:1000 /data/jenkins_home //用戶組改變

宿主主機端口要開啓
由於本操做是在阿里雲ECS上進行安裝的,須要在安全組裏開放8081此端口。
訪問Jenkins
http://120.26.50.165:8081 //ip:端口號
管理配置Jenkins
解鎖
在安裝完成後,默認生成了一個登陸密碼,首次登陸須要這個密碼。
密碼路徑:var/jenkins_home/secrets/initialAdminPassword //容器內部
查找密碼:
docker exec -it jenkins_01 bash //進入jenkins容器
cat /var/jenkins_home/secrets/initialAdminPassword //查看密碼

安裝插件
新手安裝建議選擇:Install suggested plugins,安裝過程大概半個多小時。


管理用戶建立
這個用戶就是最大管理者權限,至關於admin

Jenkins配置完成
到此步,安裝就大功告成!
http://120.26.50.165:8081 //ip:端口號


實現自動化部署
有了Jenkins,接下來就是代碼的自動部署過程了。
請參考這一篇:
Docker+lnmp+Jenkins+碼雲實現PHP代碼自動部署