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

基於上次的環境<部署Gitlab+Jenkins持續集成環境> 來實現自動化部署html

系統管理–>插件管理–>安裝如下插件:git

Credentials Plugin(默認已經安裝)   # 簽名證書管理插件web

Gitlab Plugin    # 安裝後從gitlab獲取代碼 shell

Git Plugin 和 Git Client Plugin    # 用於jenkins在gitlab中拉取源碼 apache

GitLab Hook   # gitlab觸發jenkins構建項目vim

gitlab Authentication  # gitlab和jenkins認證相關的插件 瀏覽器

SSH Plugin    # 進程執行shell腳本 bash

Publish Over SSH    # 用於經過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 順序,依賴關係等等

下載完以後點擊新建視圖

 

 

 

 

 

相關文章
相關標籤/搜索