[*] init
This commit is contained in:
36
docs/bin/deploy.sh
Normal file
36
docs/bin/deploy.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 进入目录
|
||||
base=$(readlink -f $(dirname $0))
|
||||
cd $base
|
||||
echo "环境目录:$base"
|
||||
echo "当前目录:$(pwd)"
|
||||
|
||||
# 更新代码
|
||||
if [ -z $gited ]; then
|
||||
echo "更新代码:${project.artifactId}-${project.version}"
|
||||
git pull
|
||||
fi
|
||||
|
||||
# 编译代码
|
||||
if [ -z $mvned ]; then
|
||||
echo "编译代码:${project.artifactId}-${project.version}"
|
||||
mvn clean package install -pl "${project.groupId}:${project.artifactId}" -am -D skipTests -P ${env}
|
||||
fi
|
||||
|
||||
# 删除文件:注意不要删除日志
|
||||
rm -rf $base/../deploy/${project.artifactId}/bin
|
||||
rm -rf $base/../deploy/${project.artifactId}/lib
|
||||
rm -rf $base/../deploy/${project.artifactId}/config
|
||||
# 运行目录
|
||||
echo "拷贝文件:${project.artifactId}-${project.version}"
|
||||
if [ ! -d "$base/../deploy/${project.artifactId}" ]; then
|
||||
mkdir -p $base/../deploy/${project.artifactId}
|
||||
fi
|
||||
# 拷贝文件
|
||||
cp -rf ${project.basedir}/target/${project.artifactId}-${project.version}/* $base/../deploy/${project.artifactId}
|
||||
cp -rf ${project.basedir}/target/${project.artifactId}-${project.version}.jar $base/../deploy/${project.artifactId}
|
||||
|
||||
# 启动服务
|
||||
cd $base/../deploy/${project.artifactId}
|
||||
sh bin/startup.sh
|
||||
46
docs/bin/startup.sh
Normal file
46
docs/bin/startup.sh
Normal file
@@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 启动目录
|
||||
bin=$(readlink -f $(dirname $0))
|
||||
base=${bin%/*}
|
||||
cd $base
|
||||
echo "启动目录:$base"
|
||||
|
||||
# Java运行环境
|
||||
JAVA=$(which java)
|
||||
if [ -z "$JAVA" ] ; then
|
||||
echo "必须安装${java.version}+JDK"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 结束任务
|
||||
if [ ! -f "/.dockerenv" ]; then
|
||||
sh bin/stop.sh
|
||||
fi
|
||||
|
||||
# 启动参数
|
||||
JAVA_OPTS_GC="-XX:+UseG1GC -Xlog:gc:./logs/gc.log:time,level"
|
||||
JAVA_OPTS_MEM="-server ${system.maven.jvm.mem}"
|
||||
JAVA_OPTS_EXT="-Dfile.encoding=${system.maven.encoding} -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true"
|
||||
JAVA_OPTS_APP="-Dspring.profiles.active=${profile}"
|
||||
JAVA_OPTS="$JAVA_OPTS_MEM $JAVA_OPTS_EXT $JAVA_OPTS_APP ${system.maven.jvm.arg}"
|
||||
echo "启动参数:$JAVA_OPTS"
|
||||
|
||||
# 启动应用
|
||||
echo "启动应用:${project.artifactId}-${project.version}"
|
||||
if [ ! -f "/.dockerenv" ]; then
|
||||
# 其他启动
|
||||
nohup $JAVA $JAVA_OPTS -jar $base/lib/${project.artifactId}-${project.version}.jar > /dev/null 2>&1 &
|
||||
else
|
||||
# 使用docker启动:后台启动不能查看控制台的信息
|
||||
$JAVA $JAVA_OPTS -jar $base/lib/${project.artifactId}-${project.version}.jar
|
||||
fi
|
||||
|
||||
# 等待任务
|
||||
if [ ! -f "/.dockerenv" ]; then
|
||||
sh bin/wait.sh
|
||||
else
|
||||
echo -e "\033[32m启动成功:${project.artifactId}-${project.version}\033[0m"
|
||||
fi
|
||||
|
||||
echo "--------------------------------"
|
||||
24
docs/bin/stop.sh
Normal file
24
docs/bin/stop.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 结束任务
|
||||
killIndex=0
|
||||
processId=$(ps -aux | grep "${project.artifactId}" | grep java | awk '{print $2}')
|
||||
if [ ! -z "$processId" ]; then
|
||||
echo "关闭应用:${project.artifactId}-${project.version} - $processId"
|
||||
while [ ! -z "$processId" ]
|
||||
do
|
||||
echo -n "."
|
||||
if [ $killIndex -le 0 ]; then
|
||||
# 优雅关机
|
||||
kill -15 $processId
|
||||
elif [ $killIndex -ge 10 ]; then
|
||||
echo -n '强制关闭'
|
||||
# 强制关机
|
||||
kill -9 $processId
|
||||
fi
|
||||
sleep 1
|
||||
killIndex=$((killIndex+1))
|
||||
processId=$(ps -aux | grep "${project.artifactId}" | grep java | awk '{print $2}')
|
||||
done
|
||||
echo ""
|
||||
fi
|
||||
33
docs/bin/wait.sh
Normal file
33
docs/bin/wait.sh
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 等待任务
|
||||
startTime=$(date +%s)
|
||||
processId=$(ps -aux | grep "${project.artifactId}" | grep java | awk '{print $2}')
|
||||
if [ ! -z "$processId" ]; then
|
||||
waitIndex=0
|
||||
processPortNumber=$(netstat -anop | grep $processId | grep LISTEN | wc -l)
|
||||
while [ $waitIndex -le 120 ] && [ ! -z "$processId" ] && [ $processPortNumber -lt 1 ]
|
||||
do
|
||||
sleep 1
|
||||
waitIndex=$((waitIndex+1))
|
||||
processId=$(ps -aux | grep "${project.artifactId}" | grep java | awk '{print $2}')
|
||||
if [ ! -z "$processId" ]; then
|
||||
processPortNumber=$(netstat -anop | grep $processId | grep LISTEN | wc -l)
|
||||
else
|
||||
processPortNumber=0
|
||||
fi
|
||||
echo -n "."
|
||||
done
|
||||
echo ""
|
||||
fi
|
||||
if [ $processPortNumber -lt 1 ]; then
|
||||
echo -e "\033[31m启动失败:${project.artifactId}-${project.version}\033[0m"
|
||||
sh bin/stop.sh
|
||||
exit 0
|
||||
else
|
||||
finishTime=$(date +%s)
|
||||
processTime=$((finishTime-startTime))
|
||||
echo -e "\033[32m启动成功:${project.artifactId}-${project.version} - $processId\033[0m"
|
||||
echo "启动端口:$(netstat -anop | grep $processId | grep LISTEN | awk '{print $4}')"
|
||||
echo "启动耗时:$processTime S"
|
||||
fi
|
||||
Reference in New Issue
Block a user