64 lines
1.5 KiB
Bash
Executable File
64 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# 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
|
|
eval "$2"="'$f'"
|
|
}
|
|
|
|
currDir=$(pwd)
|
|
get_real_path "$0" prg_path
|
|
echo "Script Path [$prg_path]"
|
|
|
|
# Service Home
|
|
pushd $(dirname "$prg_path") > /dev/null
|
|
PROJECT_HOME=$(dirname $(pwd))
|
|
popd > /dev/null
|
|
|
|
# ember build
|
|
cd "$PROJECT_HOME/web"
|
|
|
|
if [ "$1" = "prod" ]; then
|
|
SERVER=lemo@116.62.189.211
|
|
else
|
|
# SERVER=ambition@101.236.35.13
|
|
SERVER=lemo@116.62.189.211
|
|
fi
|
|
|
|
projName="lemo-crm-web"
|
|
targetPath="/data/program"
|
|
tgzFile="${projName}.tgz"
|
|
backupDir="${projName}_prev"
|
|
|
|
ember b -prod -o "${projName}"
|
|
|
|
# package dist
|
|
echo "tar czf ${tgzFile} ${projName}"
|
|
tar czf "${tgzFile}" "${projName}"
|
|
|
|
# remove backup
|
|
echo "ssh ${SERVER} rm -rf ${targetPath}/${backupDir} && mv ${targetPath}/${projName} ${targetPath}/${backupDir}"
|
|
ssh "${SERVER}" "rm -rf ${targetPath}/${backupDir} && mv ${targetPath}/${projName} ${targetPath}/${backupDir}"
|
|
|
|
# copy pakage to server
|
|
echo "scp ${tgzFile} ${SERVER}:${targetPath}/"
|
|
scp "${tgzFile}" "${SERVER}:${targetPath}/"
|
|
|
|
# extract package
|
|
ssh "${SERVER}" "tar xzf ${targetPath}/${tgzFile} -C ${targetPath} && rm -rf ${targetPath}/${tgzFile}"
|
|
|
|
# clean up
|
|
echo "rm -rf ${projName} ${tgzFile}"
|
|
rm -rf "${projName}" "${tgzFile}"
|
|
|
|
cd "$currDir"
|