1、目的
在部門的測試環境中,開發人員一旦向gitlab倉庫提交成功代碼,gitlab就會自動觸發jenkins構建項目。固然在構建後還能夠添加項目部署或者自動化測試的腳本。這裏只針對測試環境。git
2、Jenkins配置
2.1 安裝Gitlab Hook Plugin插件:
系統管理->管理插件->可選插件->選擇安裝 Gitlab Hook Plugin和Build Authorization Token Root Plugin插件。 若是沒有安裝Build Authorization Token,後面gitlab在Test hook時會報403錯誤。web
2.2 建立測試Project
在gitlab上已建好了bd-ci-test的項目,且Jenkins用戶擁有該項目的相關讀寫權限。
在jenkins新建bd-ci-test項目:vim
源碼管理選擇git,添加jenkins用戶在gitlab上的憑據(即用戶名密碼),這裏選擇打包的分支爲release分支,這裏根據需求本身填寫(默認爲master分支)bash
構建觸發器,勾選gitlab-ci,記住後面的GitLab CI Service URL後面要填在gitlab的webhooks中:markdown
2.3 根據branch分支觸發打包條件
如今有develop分支和release分支,若是不作這一步,開發只要向gitlab中提交代碼(develop分支或者release分支),那麼jenkins就會進行構建打包,下面咱們設置判斷過濾只有向release分支push代碼時,纔會觸發構建打包。gitlab
點開高級,填寫根據正則過濾branch,寫法以下,並generate一個token,否則後面webhooks會報403:post
3、Gitlab配置
在git項目配置界面設置連接和token。這裏要注意路徑,根據部署jenkins的路徑填寫,否則會報404錯誤,並填寫剛剛對應的token信息,保存:測試
點擊測試,返回200的話就表示成功了。其餘錯誤能夠根據gitlab日誌來排除緣由gitlab/gitlab-rails/production.log:ui
4、驗證測試
4.1 向gitlab提交代碼:
#vim a.txt 修改a.txt文件並提交 #git add a.txt #git commit -m 'alter a.txt' [release 094f663] alter a.txt 1 files changed, 0 insertions(+), 2 deletions(-) #git push origin release Password: Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 283 bytes, done. Total 3 (delta 0), reused 0 (delta 0) b32472e..094f663 release -> release
4.2 jenkins控制檯輸出信息:
能夠觀察到jekins已經自動構建項目了:spa