基於上次的環境<部署Gitlab+Jenkins持續集成環境> 來實現自動化部署
系統管理–>插件管理–>安裝以下插件:
Credentials Plugin(默認已經安裝) # 簽名證書管理插件
Gitlab Plugin # 安裝后從gitlab獲取代碼
Git Plugin 和 Git Client Plugin # 用於jenkins在gitlab中拉取源碼
GitLab Hook # gitlab觸發jenkins構建項目
gitlab Authentication # gitlab和jenkins認證相關的插件
SSH Plugin # 進程執行shell腳本
Publish Over SSH # 用於通過ssh部署應用
如果可選插件里面沒有到已安裝的里面查一下
將代碼發布到web服務器
通過執行腳本或者命令的方式來發布代碼 , 注意權限的問題 , 如果不是root用戶要保持所有服務器上的用戶ID一致
安裝apache
[root@Web ~]# yum -y install httpd [root@Web ~]# systemctl start httpd
准備自勱部署 web代碼事項
實現root用戶可以無密碼直接登錄系統
# 在哪台機器上自勱發布代碼,就需要讓jenkins的root用戶可以免密登錄到那台服務器上 [root@Jenkins ~]# ssh-copy-id root@192.168.94.33 [root@Jenkins ~]# ssh 192.168.94.33
# 如果使用的不是root用戶 , 而是普通用戶 ,那么要授予普通用戶sudo權限, 例:visudo添加 jenkins ALL=(ALL) NOPASSWD: /usr/bin/ssh
創建自動上傳web代碼的一個簡單的腳本 , 實際還需要備份
[root@Jenkins ~]# vim push.sh #!/bin/bash cd /root/damowang.cn-web git pull scp -r ./* root@192.168.94.33:/var/www/html [root@Jenkins ~]# chmod +x push.sh
配置Jenkins
瀏覽器訪問web服務器
實現Gitlib觸發Jenkins自動部署
是在公司的測試環境當中,當開發人員向gitlab倉庫提交代碼后,gitlab自動通知jenkins進行構建項目、代碼質量測試然后部署至測試環境,對生生產環境,后期使用手動部署代碼
安裝Gitlab插件
系統管理-管理插件-可選插件,安裝Gitlab Hook Plugin和Build Authorization Token Root 以及 Build Token Trigger
配置身份驗證令牌
生成Token
[root@Jenkins ~]# openssl rand -hex 12 8bde00c8584aa806692e69b4
在git項目配置界面設置鏈接和token
格式 : http://"jenkins地址"/buildByToken/build?job="jenkins項目名"&token="token值"
測試gitlab觸發jenkins自動部署
[root@Gitlab ~]# cd damowang.cn-web/ [root@Gitlab damowang.cn-web]# echo "521" >> index.html [root@Gitlab damowang.cn-web]# git add index.html [root@Gitlab damowang.cn-web]# git commit -m "loewife index.html" [master 6c6f9df] loewife index.html 1 file changed, 1 insertion(+) [root@Gitlab damowang.cn-web]# git push -u origin master Counting objects: 5, done. Writing objects: 100% (3/3), 270 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@192.168.94.11:damowang/damowang.cn-web.git 8bedbbb..6c6f9df master -> master 分支 master 設置為跟蹤來自 origin 的遠程分支 master。
訪問web頁面查看代碼是否更新
到這已經實現自動拉取Gitlab代碼+自動部署代碼到測試環境
下面增加Build Pipeline插件以流程圖的形式展示各個Job的順序
這個插件能夠以流程圖的形式展示各個Job 順序,依賴關系等等
下載完之后點擊新建視圖