120 lines
2.7 KiB
Bash
Executable File
120 lines
2.7 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"
|
|
}
|
|
|
|
prg_path=$(get_real_path "$0")
|
|
echo "Script Path [$prg_path]"
|
|
pushd $(dirname "$prg_path") > /dev/null
|
|
PROJECT_HOME=$(pwd)
|
|
echo "Project Home [$PROJECT_HOME]"
|
|
|
|
# if [[ ! -z "$1" ]]; then
|
|
# APP=${1%/}
|
|
# else
|
|
# echo "App required."
|
|
# exit 1
|
|
# fi
|
|
|
|
|
|
if [[ "$1" =~ cms/? ]]; then
|
|
MODULE="cms/web"
|
|
APP='cms-stage'
|
|
|
|
if [[ "$2" = 'yhp' ]]; then
|
|
SERVER=yunhuipai@yhp-01
|
|
fi
|
|
|
|
elif [[ "$1" =~ mpapi/? ]]; then
|
|
MODULE='mpapi'
|
|
APP='mpapi-stage'
|
|
|
|
if [[ "$2" = 'yhp' ]]; then
|
|
SERVER=yunhuipai@yhp-01
|
|
fi
|
|
elif [[ "$1" =~ operation/? ]]; then
|
|
MODULE='operation/web'
|
|
APP='operation'
|
|
elif [[ "$1" =~ one/? ]]; then
|
|
MODULE="yunhuipai/one/web"
|
|
APP='one'
|
|
SERVER=yunhuipai@yhp-00
|
|
elif [[ "$1" =~ portal/? ]]; then
|
|
MODULE='yunhuipai/portal/web'
|
|
APP='portal'
|
|
SERVER=yunhuipai@yhp-00
|
|
elif [[ "$1" =~ h5/? ]]; then
|
|
MODULE='yunhuipai/portal/h5'
|
|
APP='h5'
|
|
else
|
|
echo 'Arg module required.'
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$2" = 'zj' ]]; then
|
|
SERVICE_HOME=/data/program/${APP}
|
|
SERVER=apache@huitong
|
|
MVN_PROFILE=cmp
|
|
elif [[ "$2" = 'yhp' ]]; then
|
|
SERVICE_HOME=/opt/application/${APP}
|
|
MVN_PROFILE=yhp
|
|
elif [[ "$2" = 'daily' ]]; then
|
|
SERVER=xiandou@gz-dev
|
|
SERVICE_HOME=/opt/application/${APP}
|
|
MVN_PROFILE=default
|
|
elif [[ "$2" = 'prod' ]]; then
|
|
SERVER=xiandou@cy-crm
|
|
SERVICE_HOME=/opt/application/${APP}
|
|
MVN_PROFILE=default
|
|
else
|
|
echo "Profile required."
|
|
exit 1
|
|
fi
|
|
|
|
mvn -P $MVN_PROFILE clean package -o -pl $MODULE -am -DskipTests -T 4C
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo 'Maven build failed.'
|
|
exit 1
|
|
fi
|
|
|
|
TARGET_DIR=$MODULE/target
|
|
echo "Target dir [$TARGET_DIR]"
|
|
JAR=$(find "$TARGET_DIR" -maxdepth 1 -type f -name "*.jar" | grep -v "sources.jar$")
|
|
|
|
if [ -z "$JAR" ]; then
|
|
echo "Build target JAR is blank, exit."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Target JAR [$JAR] found"
|
|
|
|
echo "Service Home [$SERVICE_HOME], Server [$SERVER]"
|
|
|
|
echo "$SERVER [ -f $SERVICE_HOME/lib/main.jar ] && mv $SERVICE_HOME/lib/main.jar $SERVICE_HOME/lib/main_prev.jar"
|
|
ssh "$SERVER" "[ -f $SERVICE_HOME/lib/main.jar ] && mv $SERVICE_HOME/lib/main.jar $SERVICE_HOME/lib/main_prev.jar"
|
|
|
|
echo "$JAR $SERVER:$SERVICE_HOME/lib/main.jar"
|
|
scp "$JAR" "$SERVER:$SERVICE_HOME/lib/main.jar"
|
|
|
|
echo "$SERVER $SERVICE_HOME/bin/stop.sh"
|
|
ssh "$SERVER" "$SERVICE_HOME/bin/stop.sh"
|
|
|
|
echo "$SERVER $SERVICE_HOME/bin/start.sh"
|
|
ssh "$SERVER" "$SERVICE_HOME/bin/start.sh"
|
|
|
|
popd > /dev/null
|
|
|