Files
score-frontend/deploy.sh

55 lines
1.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 服务器配置
SERVER="123.57.93.143"
USER="root"
REMOTE_DIR="/home/media-front"
BACKUP_DIR="$REMOTE_DIR/backup"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
# 本地构建
echo "Building project..."
npm run build
# 检查构建是否成功
if [ ! -d "dist" ]; then
echo "Build failed! dist directory not found."
exit 1
fi
# 创建部署包
echo "Creating deployment package..."
tar -czf dist.tar.gz dist/
# 创建远程目录
echo "Creating remote directories..."
ssh $USER@$SERVER "mkdir -p $REMOTE_DIR $BACKUP_DIR"
# 如果远程目录存在部署文件,先备份
echo "Backing up existing deployment..."
ssh $USER@$SERVER "if [ -d $REMOTE_DIR/dist ]; then \
tar -czf $BACKUP_DIR/dist_backup_$TIMESTAMP.tar.gz $REMOTE_DIR/dist && \
rm -rf $REMOTE_DIR/dist; \
fi"
# 上传新的部署包
echo "Uploading new deployment package..."
scp dist.tar.gz $USER@$SERVER:$REMOTE_DIR/
# 解压部署包
echo "Extracting deployment package..."
ssh $USER@$SERVER "cd $REMOTE_DIR && \
tar -xzf dist.tar.gz && \
rm dist.tar.gz"
# 清理本地部署包
echo "Cleaning up local deployment package..."
rm dist.tar.gz
echo "Deployment completed successfully!"
echo "Your application is now deployed to $REMOTE_DIR/dist"
echo "A backup has been created at $BACKUP_DIR/dist_backup_$TIMESTAMP.tar.gz"
# 清理旧的备份保留最近10个
echo "Cleaning up old backups..."
ssh $USER@$SERVER "cd $BACKUP_DIR && ls -t dist_backup_*.tar.gz | tail -n +11 | xargs rm -f 2>/dev/null || true"