112 lines
2.4 KiB
Bash
Executable File
112 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# get real path of softlink
|
|
get_real_path() {
|
|
local f="$1"
|
|
while [ -h "$f" ]; do
|
|
ls=`ls -ld "$f"`
|
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
if expr "$link" : '/.*' > /dev/null; then
|
|
f="$link"
|
|
else
|
|
f=`dirname "$f"`/"$link"
|
|
fi
|
|
done
|
|
echo "$f"
|
|
}
|
|
|
|
deploy_server() {
|
|
local server="$1"
|
|
local app="$2"
|
|
local jar="$3"
|
|
local srv_dir="$4"
|
|
|
|
if [ -z "$srv_dir" ]; then
|
|
srv_dir="$app"
|
|
fi
|
|
|
|
echo "Deploy server [$server] app [$app] jar [$jar] port [$port] server dir [$srv_dir]."
|
|
|
|
local target_dir="/data/program/$srv_dir"
|
|
local target_jar="$target_dir/lib/main.jar"
|
|
scp $jar $server:"${target_jar}_new"
|
|
ssh $server "$target_dir/bin/stop.sh;
|
|
mv $target_jar ${target_jar}_prev;
|
|
mv ${target_jar}_new $target_jar && $target_dir/bin/start.sh"
|
|
}
|
|
|
|
prg_path=$(get_real_path "$0")
|
|
echo "Script path [$prg_path]"
|
|
|
|
# Service Home
|
|
pushd $(dirname "$prg_path") > /dev/null
|
|
WORK_DIR=$(pwd)
|
|
echo "Work dir [$WORK_DIR]"
|
|
|
|
if [ -z "$1" ] && [ -z "$2" ]; then
|
|
echo 'Usage: ./deploy.sh cms|server test|prod [nb]'
|
|
exit 1
|
|
fi
|
|
|
|
APP=$1
|
|
|
|
if [ ! -d "$APP" ]; then
|
|
echo "App [$APP] is not valid maven module."
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! "$3" == "nb" ]; then
|
|
mvn -T 4C clean package -pl $APP -am -DskipTests
|
|
fi
|
|
|
|
TARGET_DIR=$APP/target
|
|
echo "Target dir [$TARGET_DIR]"
|
|
JAR=$(find "$TARGET_DIR" -maxdepth 1 -type f -name '*.jar' | grep -v 'sources.jar')
|
|
echo "JAR [$JAR] found"
|
|
|
|
if [ "$2" == "test" ]; then
|
|
echo "Deploy test."
|
|
ADDR='xiandou@tj-daily'
|
|
|
|
if [ "$1" == "server" ]; then
|
|
deploy_server $ADDR $APP $JAR fs-server
|
|
else
|
|
deploy_server $ADDR $APP $JAR
|
|
fi
|
|
elif [ "$2" == "prod" ]; then
|
|
echo "Deploy prod."
|
|
|
|
if [ "$1" == "server" ]; then
|
|
ADDR='cc@dw-cc'
|
|
deploy_server $ADDR $APP $JAR fs-server
|
|
else
|
|
ADDR='crm@dw-crm'
|
|
deploy_server $ADDR $APP $JAR
|
|
fi
|
|
|
|
if [ "$1" == "tj-cms" ]; then
|
|
ADDR='crm@dw-crm'
|
|
deploy_server $ADDR $APP $JAR
|
|
|
|
ADDR='site@dw-site'
|
|
deploy_server $ADDR $APP $JAR
|
|
fi
|
|
|
|
elif [ "$2" == "wx" ]; then
|
|
echo "Deploy wx."
|
|
|
|
if [ "$1" == "server" ]; then
|
|
ADDR='wx-cc'
|
|
deploy_server $ADDR $APP $JAR fs-server
|
|
fi
|
|
|
|
if [ "$1" == "cms" ]; then
|
|
ADDR='wx-cc'
|
|
deploy_server $ADDR $APP $JAR
|
|
fi
|
|
|
|
fi
|
|
|
|
popd > /dev/null
|
|
|