69 lines
1.4 KiB
Bash
69 lines
1.4 KiB
Bash
|
|
#!/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."
|