使用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] 錯誤解決