1. 程式人生 > >持續整合之GitLab觸發Jenkins構建專案

持續整合之GitLab觸發Jenkins構建專案

一:目的為在公司的測試環境當中一旦開發向GitLab倉庫提交成功程式碼,GitLab通知Jenkins進行構建專案、程式碼質量測試然後部署至測試環境,注意這只是測試環境,而生產環境依然需要手動部署程式碼:

1.1:jenkins配置:
1.1.1:安裝Gitlab Hook Plugin外掛:
#系統管理-管理外掛-可選外掛-Gitlab Hook Plugin和Build Authorization Token Root Plugin

1.1.2:生成隨機token:

# openssl rand -hex 12
0f2a47c861133916d2e299e3

1.1.3:建立專案觸發器:
#專案-配置-構建觸發器:
http://192.168.3.199:8080/jenkins/project/web-demo

1.2:配置github:
1.2.1:在git專案配置介面設定連結和token:

登入gitlab,在這個專案下找到鉤子配置的地方


#選擇專案-設定-webhooks:
#外掛使用介紹,https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin

http://192.168.3.199:8080/jenkins/buildByToken/build?job=web-demo&token=0f2a47c861133916d2e299e3
http://jenkins伺服器地址:8080/buildByToken/build?job=專案名&token=token值

1.2.2:測試:

報錯:
hook executed successfully but returned http 404

本次是因為沒有在專案後面加上jenkins這個路徑

1.2.2:測試,看到顯示201表示成功

1.3:向git伺服器提交程式碼,驗證是否可以自動部署:
1.3.1:提交程式碼:

[[email protected] code]$ git clone [email protected]:web/web-demo.git
[[email protected] web-demo]$ echo "Build token root plugin" > index.html
[

[email protected] web-demo]$ git add 'index.html'
[[email protected] web-demo]$ git commit -m 'build token root plugin test'
[master beb37cb] build token root plugin test
1 file changed, 1 insertion(+), 1 deletion(-)
[[email protected] web-demo]$ git push origin master
Counting objects: 5, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 281 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To [email protected]:web/web-demo.git
c02523b..beb37cb master -> master

1.3.2:jenkins伺服器的日誌記錄:

[[email protected] tomcat]# tail -f /usr/local/tomcat/logs/catalina.out

 

1.3.3:jenkins專案構建:

1.3.4:訪問web介面驗證程式碼是否最新的:

1.3.5:jenkins控制檯輸出資訊: