1. 程式人生 > >自動持續整合——Jenkins整合SpringBoot

自動持續整合——Jenkins整合SpringBoot

  自動持續整合,簡而言之就是在程式碼每次提交時,自動持續整合的工作主要是能對專案進行構建、自動化測試和釋出等等。jenkins是一個自動持續整合工具,目前比起前沿的還有gitlab。使用自動持續整合工具能監控專案執行狀態,降低專案的風險性。如果一個專案中有很多開發者、分支,如果他們提交的程式碼未經檢查,最後合併往往很容易出錯。jenkins主要做的的就是檢測每次提交的程式碼是否可以被正常執行。當代碼被提交到倉庫時,就會觸發jenkins做專案構建、測試、釋出等,如果失敗,就會通知管理員,管理員便可實時檢測專案中的程式碼可用性。


環境準備:

①專案。在開始做Jenkins整合SpringBoot之前,我們要想準備好開發環境。SpringBoot 案例連結

https://gitee.com/brozer/springboot_practise.git 這裡,讀者也可使用自己的SpringBoot。
②程式碼託管平臺。準備完了SpringBoot後,我們以碼雲作為作為託管平臺為例。將自己的SpringBoot專案託管到碼雲上面。

③安裝jenkins。在安裝jenkins之前,我們要確保我們已經安裝了JDK,還有配置Maven環境。因為這裡我們以SpringBoot為例講解,所有必須要配置好這些環境。我們可以訪問Jenkins官網下載安裝包。

一:jenkins配置

下載完jenkins後,我們執行jenkins。執行成功後,我們預設訪問本地的8080埠。初始執行時,jenkins未設定密碼,需要使用一串驗證碼驗證。獲取這串驗證碼可在執行控制檯中獲取。登入後,如圖所示。這裡,我已經建立了一個專案了。


在建立構建專案任務之前,我們得想配置下jenkins環境變數。點選Manage Jenkins—>Configure Glogal Security,將防止跨域請求複選項去掉。


我們儲存之後返回首頁,選中左側People,選擇管理員賬號admin—>Configure。這裡,我們需要該賬號得API token,用於碼雲和jenkins的通訊認證。


建立構建任務。選中首頁New Item,給任務起個名字(java-app),使用FreeStyle Project型別。

①我們為任務配置Source Code Management


②配置構建觸發器


這裡的token是用於授權的。


③建立構建任務指令碼。點選Add build step,選擇Excute shell。每當專案程式碼提交到碼雲後,碼雲就會調jenkins,jenkins會同步碼雲上的程式碼,之後以jenkins本地環境按照指令碼步驟構建專案。jenkins預設會把專案下載到root/.jenkins/workspace中。我們可以同過$pwd檢視當前構建所在的目錄

echo $WORKSPACE
echo $pwd
mvn clean install -Dmaven.test.skip=true


到此,我們jenkins環境基本已經配置好了。除了配置jenkins環境外,我們還要確保能在外網訪問到jenkins。

二:碼雲配置


我們進入到SpringBoot專案管理配置頁,配置WebHooks即可。
在URL寫入https://admin:[email protected]/job/java-app/build?token=java-token,密碼為空,提交。

admin:f7c50b51906a07335c5fedfecda4e6aa 就是之前jenkins賬號的API Token,用於jenkins的認證。token=java-token是在構建Trigger時候填寫的,使用者專案的授權。

7c497b3d.ngrok.io是我們jenkins的外網訪問地址。


我們可以先通過手動測試,看碼雲能向jenkins發起構建任務不。如果請求返回403,有可能jenkins防止使用跨域代理了。

三:執行結果:



每次程式碼提交後,便可觸發自動持續構建該專案了。