#!/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"