以下是自己親自實踐持續(xù)集成的過程中遇到的問題,以及解決方法,作為記錄绽淘,也供有需要的朋友參考
首先想實現(xiàn)的目標是:git提交代碼后,能夠自動觸發(fā)jenkins構建闹伪,從而執(zhí)行相應的腳本沪铭,最后查看構建歷史
步驟:
前提條件是在同一個機器上部署的jenkins和安裝的git,本機是mac
- 有一個gitlab賬號偏瓤,且已經(jīng)有了倉庫
2.本地已經(jīng)生成了ssh key伦意,且配置到了gitlab上(詳細信息就不贅述了,想了解的自行百度)
3.安裝jenkins(mac or linux)硼补,將jenkins.war包放到一個目錄下驮肉,然后運行命令:
nohup java -jar jenkins.war >out.file 2>&1 &
(含義是在后臺運行命令 java -jar jenkins.war)
4.在本地的一個目錄test下運行命令:
git init
git clone git@xx.xx.xx.xx:xxxx/test-jenkins.git
(默認clone的是master分支,如果想clone別的分支已骇,還需要運行以下命令)
git checkout develop
git pull origin develop (拉取遠程倉庫develop分支到本地)
此時在test目錄下多了一個test-jenkins文件夾离钝,文件夾下面是代碼庫的develop內(nèi)容
5.接下來需要配置jenkins和gitlab了
在jenkins主頁票编,點擊系統(tǒng)管理-->管理插件-->在可選插件下,查找 gitlab hook plugin卵渴,安裝后重啟jenkins慧域,
6.在jenkins上新建一個item,配置關聯(lián)gitlab
(1)新建一個item浪读,自由風格的軟件項目
image.png
(2)在源代碼管理昔榴,設置如下:
image.png
(3)構建觸發(fā)器配置,需要勾選“build when a change is pushed to gitlab. GitLab CI Service URL:http://10.11.3.26:8080/project/test”該項(注意:只有jenkins安裝了gitlab hook plugin插件后碘橘,才有該項互订,不安裝是沒有該選項的)
image.png
(4)在“構建”配置如下:
image.png
至此,jenkins的配置已經(jīng)完成
6.接下來配置gitlab
(1)在gitlab該project界面點擊side bar最下面的settings圖標痘拆,如下圖
image.png
(2)然后再點擊側邊欄中的“web Hooks”仰禽,在“URL”一欄輸入在第5步驟中的(3)中的URL:http://a.b.c.d:8080/project/test,見下圖:
image.png
點擊確定
(3)點擊TEST HOOK按鈕纺蛆,如果提示“Hook successfully executed”吐葵,說明gitlab和jenkins關聯(lián)成功
7.接下來就開始驗證了:
在本地的另一個目錄提交一個文件a.txt到gitlab并push后,回到jenkins主頁桥氏,會發(fā)現(xiàn)構建正在進行
以上工作全部完成温峭,謝謝~~