fix: completely resolve YAML quoting issues in build-and-deploy step
Problem: YAML parser failed on complex commands with nested quotes and special characters - ssh commands with nested quotes: "echo 'Server connection OK'" - rsync commands with paths and special characters: grep -E '/$|/home' - Caused 'unterminated quoted string' errors and pipeline step cancellation Solution: Wrap ALL complex commands with single quotes and escape nested quotes - Ensures proper YAML parsing while maintaining command functionality - This should finally resolve the stage rollback issue in pipeline #76
This commit is contained in:
+11
-11
@@ -138,18 +138,18 @@ steps:
|
||||
- chmod 600 ~/.ssh/id_rsa
|
||||
- echo "SSH key file created, checking permissions:"
|
||||
- ls -la ~/.ssh/
|
||||
- echo "Testing SSH connection..."
|
||||
- ssh -o StrictHostKeyChecking=no root@139.155.109.62 "echo 'Server connection OK'"
|
||||
- ssh -o StrictHostKeyChecking=no root@139.155.109.62 "df -h | grep -E '/$|/home'"
|
||||
- 'echo "Testing SSH connection..."'
|
||||
- 'ssh -o StrictHostKeyChecking=no root@139.155.109.62 "echo \'Server connection OK\'"'
|
||||
- 'ssh -o StrictHostKeyChecking=no root@139.155.109.62 "df -h | grep -E \'/\$|/home\'"'
|
||||
- 'echo "Syncing build artifacts to production server"'
|
||||
- rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no" dist/ root@139.155.109.62:/home/novalon/docker-app/novalon-website/dist/
|
||||
- rsync -avz -e "ssh -o StrictHostKeyChecking=no" public/ root@139.155.109.62:/home/novalon/docker-app/novalon-website/public/
|
||||
- rsync -avz -e "ssh -o StrictHostKeyChecking=no" package.json package-lock.json root@139.155.109.62:/home/novalon/docker-app/novalon-website/
|
||||
- rsync -avz -e "ssh -o StrictHostKeyChecking=no" Dockerfile.prod docker-compose.server.yml root@139.155.109.62:/home/novalon/docker-app/novalon-website/
|
||||
- rsync -avz -e "ssh -o StrictHostKeyChecking=no" scripts/deploy-production.sh root@139.155.109.62:/home/novalon/docker-app/novalon-website/scripts/
|
||||
- rsync -avz -e "ssh -o StrictHostKeyChecking=no" .env.production root@139.155.109.62:/home/novalon/docker-app/novalon-website/ 2>/dev/null || echo "No .env.production file"
|
||||
- ssh -o StrictHostKeyChecking=no root@139.155.109.62 "cd /home/novalon/docker-app/novalon-website && [ -f docker-compose.server.yml ] && mv docker-compose.server.yml docker-compose.yml; chmod +x scripts/deploy-production.sh && ./scripts/deploy-production.sh"
|
||||
- echo "Production deployment completed"
|
||||
- 'rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no" dist/ root@139.155.109.62:/home/novalon/docker-app/novalon-website/dist/'
|
||||
- 'rsync -avz -e "ssh -o StrictHostKeyChecking=no" public/ root@139.155.109.62:/home/novalon/docker-app/novalon-website/public/'
|
||||
- 'rsync -avz -e "ssh -o StrictHostKeyChecking=no" package.json package-lock.json root@139.155.109.62:/home/novalon/docker-app/novalon-website/'
|
||||
- 'rsync -avz -e "ssh -o StrictHostKeyChecking=no" Dockerfile.prod docker-compose.server.yml root@139.155.109.62:/home/novalon/docker-app/novalon-website/'
|
||||
- 'rsync -avz -e "ssh -o StrictHostKeyChecking=no" scripts/deploy-production.sh root@139.155.109.62:/home/novalon/docker-app/novalon-website/scripts/'
|
||||
- 'rsync -avz -e "ssh -o StrictHostKeyChecking=no" .env.production root@139.155.109.62:/home/novalon/docker-app/novalon-website/ 2>/dev/null || echo "No .env.production file"'
|
||||
- 'ssh -o StrictHostKeyChecking=no root@139.155.109.62 "cd /home/novalon/docker-app/novalon-website && [ -f docker-compose.server.yml ] && mv docker-compose.server.yml docker-compose.yml; chmod +x scripts/deploy-production.sh && ./scripts/deploy-production.sh"'
|
||||
- 'echo "Production deployment completed"'
|
||||
volumes:
|
||||
- /tmp/npm-cache:/root/.npm
|
||||
- /tmp/node-modules-cache:/woodpecker/src/node_modules
|
||||
|
||||
Reference in New Issue
Block a user