搭建Jenkins+tomcat+svn、發佈Maven項目 實現自動化熱部署

Jenkins 是一款流行的開源持續集成(Continuous Integration)工具,普遍用於項目開發,具備自動化構建、測試和部署等功能。本文以 CentOS7 環境爲例,總結了 Jenkins 的安裝與配置、郵件功能使用

1.安裝JDK自行百度(推薦手動配置環境變量)html

2.Maven安裝自行百度(推薦手動配置環境變量)java

3.SVN安裝自行百度web

4.Tomcat安裝自行百度(咱們用的是8.5)shell

因爲咱們要進行熱部署,tomcat需進行權限用戶配置,配置以下:apache

 

1. 添加 Contextjson

在 $tomcathome/conf/Catalina/localhost/下建立 manager.xml , 填入以下內容:centos

<Context privileged="true" antiResourceLocking="false" 
         docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

2.添加用戶瀏覽器

<role rolename="manager-gui" />
 <role rolename="manager-status" />
 <role rolename="manager-jmx" />
 <role rolename="manager-script"/>
 <role rolename="admin-gui"/>
 <role rolename="admin-script"/>

 <user username="tomcat" password="tomcat" roles="manager-gui,manager-status,manager-jmx,manager-script,admin-gui,admin-script"/>

 

4.安裝Jenkins,採用Jenkins war包部署tomcat

將Jenkins war包上傳至Tomcat webapps目錄下,進入Bin目錄啓動tomcatapp

5.在瀏覽器上輸入ip地址(http://ip:端口/jenkins)便可訪問,如圖:

6.首次進入jenkins如要輸入密碼,密碼位置:/root/.jenkins/secrets/initialAdminPassword

7.進入選擇插件安裝界面,選擇第一個(Install suggested plugins)

 

 

 

 8.插件安裝完成以後,須要建立第一個用戶

  9.建立用戶以後,就可使用jenkins了

       若是插件安裝失敗,能夠去鏡像地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins,手動下載,而後經過插件管理中的高級,進行上傳

     10.安裝相關插件

     Subversion Plug-in ## 版本管理 SVN 的插件

     Git plugin ## 版本管理 GIT 的插件
     Maven Integration plugin ## 項目構建 Maven 的插件
     Gradle Plugin ## 項目構建 Gradle 的插件
     無需重啓 Jenkins 插件即生效。如遇失敗可重試或離線安裝。

 

 

開始建立

主頁:點擊「新建」; 
項目類型:輸入項目名稱 fastjson,類型選擇「構建一個Maven項目」(若是沒有此項可選,請檢查插件「Maven Integration plugin」是否已安裝); 

源碼管理

選擇「Subversion」(若是沒有此項可選,請檢查插件「Subversion Plug-in」是否已安裝), 
倉庫URL能夠指定 svn/http/https 之一,這裏指定 svn://centos/repo1/fastjson 
Credentials: 添加 SVN 用戶名密碼,並從下拉列表中選擇它。 

 

 

定時觸發構建(不配置也能夠,根據本身需求,我是手動發版)

 

## 每行由 5 個值組成(空格或TAB分隔),分別表示分(0-59)、時(0-23)、日(1-31)、月(1-12)、周(0-7, 0/7=週日)
## "M,N" 表示M和N;"M-N" 表示範圍[M,N];"M-N/X" 表示範圍[M,N]內每隔X;"*/X" 表示整個範圍內每隔X
## 前面提到的M/N/X的值均可以用H(意爲Hash)代替,散列值起到隨機值的效果,且同一項目取值穩定,這對於項目多時分散壓力頗有用。
H/10  H(0-8)  *  *  1-5   ## 觸發時間: 工做日、Hour爲0~8按哈希隨機、Minute以10爲間隔
H/10  H       *  *  0,6,7 ## 觸發時間: 週末、Hour爲全天按哈希隨機、Minute以10爲間隔
## 「日程表」修改後,下方會給出下次執行時間點的預告。

 

版本提交觸發構建

構建觸發器: 只選中 Poll SCM,可指定檢查 SVN 代碼是否有提交的時間:

## 格式與 "Build periodically" 相同
H/10  *  *  *  *  ## 任什麼時候候,每隔 30 分鐘就檢測一次 SVN,若是有提交就啓動構建

 Build 設置

Root POM: 指定 pom.xml 相對路徑 
Goals and options: 指定 mvn 執行目標或選項,設置爲 package -Dmaven.test.skip=true(跳過測試)

上述信息提示配置一下maven的安裝路徑,咱們照作便可,順便配置好jdk路徑

 Post Steps 設置

 

定製構建後的操做,一般選擇「Run only if build succeeds」,支持 shell 等腳本;

## 腳本工做目錄爲: /var/lib/jenkins/workspace/fastjson
# sudo systemctl stop tomcat
# sudo cp -f target/*.war /opt/apache-tomcat-8.5.9/webapps/
# sudo systemctl start tomcat
ls -l target/*.?ar

注:我沒有按如上設置,個人設置以下

sudo mv ${WORKSPACE}/target/你的war包名稱-0.0.1-SNAPSHOT.war ${WORKSPACE}/target/你的war包名稱.war

 

手工觸發構建

進入 My Views, 右側看到各個項目; 
點擊進入關注的項目,點擊左側的「當即構建」;

 

 

 開始構建或構建完畢後,左下方列出每次構建的連接,點擊進入某次構建; 
點擊左側的「Console Output」,可查看構建日誌,若有報錯能夠看到; 

 

 

參考:Jenkins使用教程Jenkins安裝(1)使用jekins自動構建部署java maven項目(jdk1.7+tomcat7.0+jenkins2.19.3)

相關文章
相關標籤/搜索