使用Jenkins自動化部署Java專案

不吃香菜發表於2019-01-19

Jenkins介紹

Jenkins是領先的開源自動化伺服器,他提供了數百個外掛來支援任何專案的構建、部署和自動化。

Jenkins下載

Jenkins的官方網站|下載地址

wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

Jenkins安裝

  1. 啟動Jenkins :java -jar jenkins.war
  2. 在瀏覽器中輸入 localhost:8080
  3. 根據提示輸入Jenkins的預設密碼
  4. 安裝建議的外掛
  5. 建立admin使用者
  6. 選擇start using jenkins

Jenkins外掛安裝

rebuilder : 重新構建
safe restart: 安全重啟

Jenkins基礎配置

  • 配置全域性安全屬性
    Configure Global Security中使用安裝矩陣新增admin使用者和test使用者的許可權
  • 新增自定義使用者test01,並賦予test的使用者許可權

自動化部署專案

部署過程

  1. git同步最新程式碼
  2. 使用maven打包專案
  3. 停止tomcat伺服器
  4. 部署專案
  5. 啟動tomcat伺服器

部署指令碼

#!/usr/bin/env bash
#編譯+部署order站點

#需要配置如下引數
# 專案路徑, 在Execute Shell中配置專案路徑, pwd 就可以獲得該專案路徑
# export PROJ_PATH=這個jenkins任務在部署機器上的路徑

# 輸入你的環境上tomcat的全路徑
# export TOMCAT_APP_PATH=tomcat在部署機器上的路徑

### base 函式
killTomcat()
{
    pid=`ps -ef|grep tomcat|grep java|awk `{print $2}``
    echo "tomcat Id list :$pid"
    if [ "$pid" = "" ]
    then
      echo "no tomcat pid alive"
    else
      kill -9 $pid
    fi
}
cd $PROJ_PATH/order
mvn clean install

# 停tomcat
killTomcat

# 刪除原有工程
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $TOMCAT_APP_PATH/webapps/order.war

# 複製新的工程
cp $PROJ_PATH/order/target/order.war $TOMCAT_APP_PATH/webapps/

cd $TOMCAT_APP_PATH/webapps/
mv order.war ROOT.war

# 啟動Tomcat
cd $TOMCAT_APP_PATH/
sh bin/startup.sh

Jenkins部署任務

  1. 建立Jenkins任務

    • 輸入Jenkins的任務名稱
    • 選擇構建一個自由風格的軟體專案
    • 填寫任務描述
  2. 填寫Server資訊
  3. 配置git引數

    • 輸入git地址
    • Additional Behaviours中選擇Check out to a sub-directory並設定檔名為order
  4. 填寫構建語句,部署環境

    • 在構建中新增構建步驟Execute shell

      # 在Jenkins任務執行完畢之後只關閉Jenkins程式,不關閉Server程式,如果不設定Server也會被關閉
      BUILD_ID=DONTKILLME
      # 載入配置檔案
      . /etc/profile
      # 配置執行引數
      export RROJ_PATH=`pwd`
      export TOMCAT_PATH=/root/apache-tomcat-9.0.8
      # 執行部署指令碼
      sh $RROJ_PATH/order/deploy.sh
    • 點選立即構建
  5. 驗證部署結果
    使用瀏覽器訪問192.168.100.133:8080驗證專案是否部署成功

相關文章