CentOS 7 Gitlab+Jenkins持續集成+自動化部署


基於上次的環境<部署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 順序,依賴關系等等

下載完之后點擊新建視圖

 

 

 

 

 

 


免責聲明!

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



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