From d37b5b0fecda13d648bd64e267be16505c225af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Mon, 30 Mar 2026 07:23:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E4=BF=AE=E5=A4=8DYAML=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题: - YAML解析失败: cannot unmarshal type map into string - 中文字符和多行字符串导致解析错误 修复: - 移除中文字符,使用英文 - 将多行SSH命令改为单行命令 - 简化echo输出 --- .woodpecker.yml | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index 87a0654..caa0573 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -169,21 +169,18 @@ steps: - lint - type-check commands: - - echo "=== Step 1: 构建生产产物 ===" + - echo "Step 1: Building production artifacts..." - npm run build - - echo "✅ 构建完成" + - echo "Build completed" - ls -la dist/ - - - echo "=== Step 2: 部署到生产环境 ===" + - echo "Step 2: Deploying to production..." - mkdir -p ~/.ssh - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - ssh-keyscan -H 139.155.109.62 >> ~/.ssh/known_hosts - - echo "Pre-deployment checks..." - ssh root@139.155.109.62 "echo 'Server connection OK'" - ssh root@139.155.109.62 "df -h | grep -E '/$|/home'" - - echo "Syncing build artifacts to production server..." - rsync -avz --delete dist/ root@139.155.109.62:/home/novalon/docker-app/novalon-website/dist/ - rsync -avz public/ root@139.155.109.62:/home/novalon/docker-app/novalon-website/public/ @@ -191,20 +188,8 @@ steps: - rsync -avz Dockerfile.prod docker-compose.server.yml root@139.155.109.62:/home/novalon/docker-app/novalon-website/ - rsync -avz scripts/deploy-production.sh root@139.155.109.62:/home/novalon/docker-app/novalon-website/scripts/ - rsync -avz .env.production root@139.155.109.62:/home/novalon/docker-app/novalon-website/ 2>/dev/null || echo "No .env.production file" - - - | - ssh root@139.155.109.62 << 'EOF' - set -e - cd /home/novalon/docker-app/novalon-website - - if [ -f docker-compose.server.yml ]; then - mv docker-compose.server.yml docker-compose.yml - fi - - chmod +x scripts/deploy-production.sh - ./scripts/deploy-production.sh - EOF - - echo "✅ 生产环境部署完成!" + - ssh root@139.155.109.62 "cd /home/novalon/docker-app/novalon-website && if [ -f docker-compose.server.yml ]; then mv docker-compose.server.yml docker-compose.yml; fi && 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