前言:
1、在部署前呢,首先,自己要了解整套分布式項目的組成部分;就比如,我管理的項目有很多“服務提供者”、“服務消費者”。隻有非常熟悉它們之間的關系,你才能知道如何部署。
2、熟悉MAVEN管理項目,MAVEN jar包依賴關系。我的Jenkins利用maven打包結構如下,打好的jar(war)都放在每個項目的target下。
一、建立maven工程
1.
2.
3.
4.
5.
6.注意:界面下有修改登入端口号的port。
7.
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)。