1. 程式人生 > >使用Jenkins持續整合maven專案

使用Jenkins持續整合maven專案

jenkins的使用

1. 前期準備

(1) 安裝jdk

(2) 配置環境變數 JENKINS_HOME

JENKINS_HOME 是存放jenkins啟動後資料和專案等檔案的地方,如果沒有配置,windows下自動預設為C:\Users\{當前登入使用者}\.jenkins目錄,linux預設為~\.jenkins

(3) 下載jenkins war包

點選這裡下載

(4) 配置tomcat

配置tomcat的使用者,在conf/tomcat-users.xml檔案裡面,這裡要配置manager-script角色,並配置一個使用者指定角色為manager-script

2.啟動服務

(1) 啟動

可以放在web伺服器中執行,也可以直接java -jar jenkins.war執行,直接執行預設埠號為8080,可以在命令後面新增引數 –httpPort=8888 修改

(2) 登入

啟動進入時提示需要輸入AdminPassword,驗證碼在${JENKINS_HOME}/secrets/initialAdminPassword裡面,或者在jenkins的啟動日誌裡面也可以找到。然後是安裝外掛頁面,選擇推薦或者自定義都可以,最後設定管理員使用者名稱和密碼

3.配置

(1) 安裝外掛

系統管理>管理外掛>可選外掛,依次安裝如下外掛

  • Deploy to container Plugin
  • Maven Integration plugin
  • Git plugin
  • NodeJS Plugin
  • Publish Over SSH
  • SSH plugin

(2) 全域性工具配置

系統管理>全域性工具配置
JDK、Maven、NodeJs。配置過程都差不多,點選新增,別名隨意填,如果系統已經安裝過該軟體,就不要勾選自動安裝。XX_HOME填對應的安裝目錄

4. 新增專案

(1) 新增

點選新建,輸入專案名,選擇專案型別,這裡選構建一個maven專案,點選確定

(2) 配置

① 專案名稱

填寫專案的名稱

② 丟棄的構建

這裡設定的是之前構建的專案保留的時間數量等,根據需要設定

③ 原始碼管理

選擇git,輸入倉庫地址,如果需要登入點選Add,新增git遠端倉庫的使用者名稱和密碼,選擇分支

④ 構建觸發器

推薦使用最簡單的配置“Poll SCM”,它的意思是,定時檢查版本庫,發現有新的提交就觸發構建。這種方式對git、SVN等所有版本管理系統都是通用的。我們在日程中填入

*/3 * * * * 

表示每3分鐘檢查一次,如果有提交就觸發構建

⑤ build

預設的Root POM是pom.xml。如果pom.xml不在根目錄下,就填入子目錄,例如:wxapi/pom.xml。
在Goals and options中,填入需要執行的mvn命令:clean package,Jenkins將執行如下命令:

mvn clean package

特殊引數也在這裡填寫,如-DskipTests=true

⑥ 構建後操作

選擇增加構建後操作步驟:Deploy war/ear to a container
WAR/EAR files:指生成war包的位置,直接填**/*.war
Context path :部署後應用的ContextPath
Add Container:新增容器,這裡選擇tomcat8,在Credentials中配置tomcat 中擁有manager-script角色的使用者的使用者名稱和密碼,並配置tomcat的URL

5.構建專案

進入專案管理介面,點選立即構建可立即觸發構建。點選Build History下面數字,Console Output可以檢視控制檯輸出,如果最後顯示Finished: SUCCESS說明構建成功

6.遇到的坑

(1) jenkins部署後無法進入

部署好jenkins後,第一次進入選擇安裝外掛後顯示 Unable to connect to jenkins 錯誤,錯誤解決方法地址,解決方法:

  • 在開啟瀏覽器訪問jenkins頁面前,將${JENKINS_HOME}/secrets/initialAdminPassword 檔案內容最前面加”passwd:“,比如原來是“123456”,改成”passwd:123456”。
  • 訪問jenkins頁面,使用使用者名稱admin,密碼為initialAdminPassword中passwd:之後的內容
  • 點選[install suggested plugins]
  • 點選 [continue as admin]
  • 點選[start using Jenkins] 錯誤出現
  • 點選[retry] 錯誤解決