Fix SSH variable quoting in GitLab CI/CD

This commit is contained in:
SysAdmin 2025-09-27 07:47:57 +01:00
parent 5bae87d5ec
commit d57f3ddd59

View File

@ -32,18 +32,18 @@ deploy:vps:
- chmod 600 /tmp/deploy_key
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -p $VPS_PORT $VPS_HOST >> ~/.ssh/known_hosts
- ssh-keyscan -p "$VPS_PORT" "$VPS_HOST" >> ~/.ssh/known_hosts
script:
- echo "Deploying version $CI_COMMIT_TAG to VPS"
- echo "Building image from source..."
- docker build -t littleshop:$CI_COMMIT_TAG .
- echo "Copying image to VPS via SSH..."
- docker save littleshop:$CI_COMMIT_TAG | ssh -i /tmp/deploy_key -p $VPS_PORT $VPS_USER@$VPS_HOST "docker load"
- docker save littleshop:$CI_COMMIT_TAG | ssh -i /tmp/deploy_key -p "$VPS_PORT" "$VPS_USER@$VPS_HOST" "docker load"
- echo "Deploying on VPS..."
- |
ssh -i /tmp/deploy_key -p $VPS_PORT $VPS_USER@$VPS_HOST bash -s << EOF
ssh -i /tmp/deploy_key -p "$VPS_PORT" "$VPS_USER@$VPS_HOST" bash -s << EOF
set -e
# Tag the image
@ -103,11 +103,11 @@ rollback:vps:
- chmod 600 /tmp/deploy_key
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -p $VPS_PORT $VPS_HOST >> ~/.ssh/known_hosts
- ssh-keyscan -p "$VPS_PORT" "$VPS_HOST" >> ~/.ssh/known_hosts
script:
- echo "Rolling back to previous version"
- |
ssh -i /tmp/deploy_key -p $VPS_PORT $VPS_USER@$VPS_HOST bash -s << EOF
ssh -i /tmp/deploy_key -p "$VPS_PORT" "$VPS_USER@$VPS_HOST" bash -s << EOF
set -e
cd /opt/littleshop