#!/bin/bash PROJECT_NAME=app ROOTFS_APP_DIR=/ export PROJECT_PATH=$(pwd) set -e set -x # 从命令行读取参数,目标IP,是否重启 $0 --ip --reboot while [ "$1" != "" ]; do case $1 in --ip) shift ip=$1 ;; --reboot) shift reboot=$1 ;; esac shift done # 如果IP为空,提示使用方法 if [ -z "$ip" ]; then echo "Usage: $0 --ip --reboot " exit 1 fi scp -r out/${PROJECT_NAME}.tar.gz root@${ip}:${ROOTFS_APP_DIR} #如果存在shutdown.sh,则先执行shutdown.sh ssh root@${ip} 'if [ -f "/${PROJECT_NAME}/shutdown.sh" ];then /${PROJECT_NAME}/shutdown.sh;fi' ssh root@${ip} "cd ${ROOTFS_APP_DIR} && tar -xvf ${PROJECT_NAME}.tar.gz -C ${ROOTFS_APP_DIR}" ssh root@${ip} "cd ${ROOTFS_APP_DIR} && rm -rf ${PROJECT_NAME}.tar.gz" if [ "$reboot" = "true" ]; then echo "reboot"; ssh root@${ip} "reboot" fi echo "deploy success"