背景
一個ssm項目通過jenkins在服務器中部署,項目服務器和Jenkins服務器不在一起,代碼通過gitlab進行管理。
在Jenkins的配置項目服務器
在jenkins中添加 項目服務器的地址等信息,打開系統管理的系統配置
有一個 Http Servers 的選項,點擊新增
此時:點擊下邊按鈕進行,如果出現 success ,則說明配置成功!
在jenkins配置 maven 、git
1、在系統管理的全局工具配置
注意: maven/conf/settings.xml 路徑不能寫錯,不然代碼拉不下來。
2、配置git,就是寫個名字,寫上jenkins服務器git的路徑
創建一個maven項目
新建任務,選在maven項目,我的Jenkins版本是 Jenkins ver. 2.176.3
核心配置:
構建後配置
常用的shell 腳本:
情景假設:
1、項目打包後的名字爲:eric.war
shell解讀:
1、查出已經部署的此項目的進程,並殺死
2、刪除之前的eric項目文件以及壓縮包(項目一定會多次部署)
2、將war複製到tomcat的webapps目錄下
3、啓動tomcat
#!/bin/sh
tomcat_path=/home/admin/tomcat # 服務器中 tomcat 的路徑
project_web=$tomcat_path/eric.war # 包含 war 的路徑
if [ -f $project_web ] ;then
echo -- stop tomcat
# 殺死 tomcat 進程
pidlist=`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`
if [ "$pidlist" = "" ]
then
echo "no tomcat pid alive!"
else
echo "tomcat Id list :$pidlist"
kill -9 $pidlist
echo "tomcat stop success"
fi
echo -- 正在部署$project_web
# 如果存在 war 存在
if [ -f $tomcat_path/webapps/eric.war ] ;then
rm -f $tomcat_path/webapps/eric.war
rm -rf $tomcat_path/webapps/eric # 刪除項目war以及文件夾
echo -- 正在刪除$project_web
fi
# 拷貝新的war包
cp $project_web $tomcat_path/webapps/eric.war
# start tomcat - 啓動tomcat
echo $tomcat_path
export JAVA_HOME=/usr/lib/jvm/jdk
${tomcat_path}/bin/startup.sh
else
echo $BUILD_ID - 未找到$project_web
fi
簡單總結,如果不足歡迎大家指出交流!