天天看點

Jenkins實戰:MAVEN項目遠端部署

前言:

1、在部署前呢,首先,自己要了解整套分布式項目的組成部分;就比如,我管理的項目有很多“服務提供者”、“服務消費者”。隻有非常熟悉它們之間的關系,你才能知道如何部署。

Jenkins實戰:MAVEN項目遠端部署

2、熟悉MAVEN管理項目,MAVEN jar包依賴關系。我的Jenkins利用maven打包結構如下,打好的jar(war)都放在每個項目的target下。

Jenkins實戰:MAVEN項目遠端部署

一、建立maven工程

1.

Jenkins實戰:MAVEN項目遠端部署

2.

Jenkins實戰:MAVEN項目遠端部署

3.

Jenkins實戰:MAVEN項目遠端部署

4.

Jenkins實戰:MAVEN項目遠端部署

5.

Jenkins實戰:MAVEN項目遠端部署

6.注意:界面下有修改登入端口号的port。

Jenkins實戰:MAVEN項目遠端部署

7.

Jenkins實戰:MAVEN項目遠端部署

8.shell腳本,根據自己的開發項目結構與部署情況,自己調整。

#!/bin/bash
export JAVA_HOME=/home/java/jdk1.8.0_181
#防止jenkins建構完成後殺死tomcat程序
export BUILD_ID=dontKillMe
#tomcat路徑
TOMCAT_PATH=/home/tomcat/tomcat-8-7000
#替換掉的war包名
WAR_NAME=test-service
#查詢tomcat程序id
TID=`ps -ef|grep $TOMCAT_PATH |grep -v 'grep\|tail\|less\|more' |awk '{print $2}'`

#程序id不為空
#[]中必須保留前後空格,格式要求
if [ ! -n "$TID" ]; then 
    echo "Tomcat沒有運作"
else
    for id in $TID
    do
        kill -9 $id;
        echo "Tomcat程序$id被殺死";
        sleep 8s;
    done
fi

rm -rf $TOMCAT_PATH/webapps/$WAR_NAME*

echo "複制war到webapps下"
cd /home/tomcat/war
cp -f ./$WAR_NAME.war $TOMCAT_PATH/webapps
sleep 5s

echo "啟動tomcat"
cd /
$TOMCAT_PATH/bin/startup.sh
           

二、點選"儲存"後,會傳回建構項目管理頁面,點選"立即建構"就可以實作自動下載下傳代碼、編譯、依賴、打包、遠端釋出、遠端啟動,自動完成這一系列的流程。

三、未完待續,敬請期待:遠端釋出項目,以jar包方式啟動服務(不需要tomcat)。