You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

45 lines
945 B

#!/bin/bash
PROJECT_NAME=app
ROOTFS_APP_DIR=/
export PROJECT_PATH=$(pwd)
set -e
set -x
# 从命令行读取参数,目标IP,是否重启 $0 --ip <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 <ip> --reboot <true|false>"
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"