Files
backend/deploy.sh

69 lines
1.4 KiB
Bash
Raw Permalink Normal View History

2025-07-20 16:55:23 +08:00
#!/bin/bash
# Deploy script for backserver to 101.200.154.78
# Usage: ./deploy.sh
# Configuration
SERVER_HOST="101.200.154.78"
SERVER_USER="root"
DEPLOY_PATH="/opt/backserver"
CONTAINER_NAME="backserver-app"
echo "Starting deployment to $SERVER_HOST..."
# Build the Docker image locally
echo "Building Docker image..."
docker build -t backserver:latest .
if [ $? -ne 0 ]; then
echo "Docker build failed!"
exit 1
fi
# Save the image to a tar file
echo "Saving Docker image to tar file..."
docker save backserver:latest > backserver.tar
# Transfer files to server
echo "Transferring files to server..."
scp backserver.tar docker-compose.yml $SERVER_USER@$SERVER_HOST:$DEPLOY_PATH/
if [ $? -ne 0 ]; then
echo "File transfer failed!"
exit 1
fi
# Execute deployment commands on server
echo "Executing deployment on server..."
ssh $SERVER_USER@$SERVER_HOST << EOF
cd $DEPLOY_PATH
# Stop existing container
docker-compose down
# Load new image
docker load < backserver.tar
# Start new container
docker-compose up -d
# Clean up
rm backserver.tar
# Show status
docker-compose ps
docker logs $CONTAINER_NAME --tail 20
EOF
if [ $? -eq 0 ]; then
echo "Deployment completed successfully!"
echo "Application should be available at http://$SERVER_HOST:8080"
else
echo "Deployment failed!"
exit 1
fi
# Clean up local tar file
rm backserver.tar
echo "Deployment process finished."