fix: 修复CI pipeline #78的SSH认证问题
ci/woodpecker/push/woodpecker Pipeline failed

- 修复.woodpecker.yml中的YAML语法错误
- 增强archive-to-main步骤的调试信息
- 添加Docker环境诊断脚本
- 优化SSH连接测试和错误处理
This commit is contained in:
张翔
2026-03-30 20:38:58 +08:00
parent dab67e0e3a
commit 4a2d5dc385
3 changed files with 234 additions and 3 deletions
+36 -3
View File
@@ -168,16 +168,49 @@ steps:
depends_on:
- build-and-deploy
commands:
- echo "Archiving to main branch"
- apk add --no-cache git openssh-client
- echo "=== Archiving to main branch (Docker环境) ==="
- echo "当前容器信息:"
- 'echo "主机名: $(hostname)"'
- 'echo "IP地址: $(hostname -i)"'
- echo ""
- echo ""
- echo "1. 安装必要的工具"
- apk add --no-cache git openssh-client curl
- echo ""
- echo "2. 配置SSH环境"
- mkdir -p ~/.ssh
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- echo "✅ SSH私钥文件已创建"
- 'ls -la ~/.ssh/id_rsa'
- 'wc -c < ~/.ssh/id_rsa'
- echo ""
- echo "3. 配置Git服务器主机密钥"
- ssh-keyscan -H git.f.novalon.cn >> ~/.ssh/known_hosts
- echo "✅ Git服务器主机密钥已添加"
- echo ""
- echo "4. 测试网络连接"
- echo "测试DNS解析:"
- 'nslookup git.f.novalon.cn || echo "DNS解析测试完成"'
- echo "测试端口连通性:"
- 'nc -zv git.f.novalon.cn 22 && echo "SSH端口可达" || echo "SSH端口不可达"'
- echo ""
- echo "5. 测试SSH连接"
- echo "测试SSH连接到Git服务器..."
- 'ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -T git@git.f.novalon.cn 2>&1 | head -10 || echo "SSH连接测试完成"'
- echo ""
- echo "6. 配置Git用户信息"
- git config --global user.email "ci@novalon.cn"
- git config --global user.name "Woodpecker CI"
- echo "✅ Git用户信息已配置"
- echo ""
- echo "7. 配置Git远程仓库"
- git remote set-url origin git@git.f.novalon.cn:novalon/novalon-website.git
- git fetch origin
- echo "✅ Git远程仓库已配置"
- echo ""
- echo "8. 测试Git远程访问"
- echo "测试Git远程仓库访问权限..."
- git ls-remote origin --heads 2>&1 | head -5 || echo "Git远程访问测试完成"
- CURRENT_BRANCH="${CI_COMMIT_BRANCH}"
- echo "Current branch is $CURRENT_BRANCH"
- git checkout main