4x/irrigation-monitoring-platf.../deploy-docker.sh

91 lines
1.6 KiB
Bash

#!/bin/bash
echo "##deploy begin"
shellName=$0
echo "##run shell $0"
# 接收参数:服务名称,应用名称,应用环境
# reservoir-main-dev-1.0-SNAPSHOT.war
app=$1
# dev
profiles=$2
# tomcat-8082-reservoir-backend
tomcatServer=$3
# /workspace/tomcat/reservoir-backend
tomcatPath=$4
# 获取当前执行脚本路径
currentDir=$(cd $(dirname $0); pwd)
# 打印当前路径
echo "##current dir:${currentDir}"
cd ${currentDir}
# 打印输入参数
echo "##tomcatServer:${tomcatServer}"
echo "##app:${app}"
echo "##profiles:${profiles}"
#
#更新GIT到最新版本
#
echo "开始执行"
CMD_PATH=`dirname $0`
cd $CMD_PATH
echo "进入目录:$PWD"
#
#未clone请先做一下clone
#
echo "拉取代码..."
git reset --hard HEAD
git clean -f
git pull
#
#修改目录权限
#
echo "修改目录用户权限..."
chmod -R 755 ./
# 编译打包程序
#echo "mvn clean package -DskipTests -P ${profiles}"
#mvn clean package -DskipTests -P ${profiles}
#echo "##mvn war:war -DskipTests -P ${profiles}"
#mvn war:war -DskipTests -P ${profiles}
#
mvn install -P ${profiles}
# 停止docker服务
echo "##docker stop"
docker stop ${tomcatServer}
# 拷贝程序至目标目录
echo "##copy war package"
warDir=${currentDir}/reservoir-main/target
#将程序包命名为ROOT
echo "##mv ${warDir}/${app} ${warDir}/ROOT.war"
mv ${warDir}/${app} ${warDir}/ROOT.war
#移除旧包
echo "rm -rf ${tomcatPath}/webapps/ROO*"
rm -rf ${tomcatPath}/webapps/ROO*
#将新的包移到Tomcat程序目录下
echo "cp -r ${warDir}/ROOT.war ./webapps"
cp -r ${warDir}/ROOT.war ${tomcatPath}/webapps
# 启动docker服务
echo "##docker start"
docker start ${tomcatServer}
#
echo "##start end"