fix: 修复CI/CD流程问题并建立监控机制
- 禁用Git LFS(项目未使用LFS) - 修复企业微信通知环境变量展开问题 - 创建CI/CD诊断脚本 - 建立持续监控机制 - 添加预防措施文档 问题根本原因: 1. Woodpecker CI Git插件默认启用LFS,导致不必要的LFS命令执行 2. Shell脚本heredoc块内变量展开时机问题导致环境变量丢失 修复方案: 1. 在clone配置中添加 lfs: false 2. 将环境变量赋值移到单独的命令行,heredoc仅用于生成JSON 验证方法: - 运行 diagnose-cicd-issues.sh 进行诊断 - 运行 scripts/monitoring/cicd-monitor.sh 进行监控
This commit is contained in:
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "=========================================="
|
||||
echo "CI/CD 问题诊断脚本"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
echo "📋 问题1: Git LFS 配置检查"
|
||||
echo "----------------------------------------"
|
||||
if command -v git-lfs &> /dev/null; then
|
||||
echo "✅ Git LFS 已安装"
|
||||
git lfs version
|
||||
else
|
||||
echo "❌ Git LFS 未安装"
|
||||
fi
|
||||
|
||||
if [ -f ".gitattributes" ]; then
|
||||
echo "✅ .gitattributes 文件存在"
|
||||
cat .gitattributes
|
||||
else
|
||||
echo "❌ .gitattributes 文件不存在(项目未使用LFS)"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "📋 问题2: 环境变量检查"
|
||||
echo "----------------------------------------"
|
||||
echo "当前环境变量:"
|
||||
echo " CI_COMMIT_BRANCH: ${CI_COMMIT_BRANCH:-未设置}"
|
||||
echo " CI_COMMIT_SHA: ${CI_COMMIT_SHA:-未设置}"
|
||||
echo " CI_COMMIT_MESSAGE: ${CI_COMMIT_MESSAGE:-未设置}"
|
||||
echo " CI_COMMIT_AUTHOR: ${CI_COMMIT_AUTHOR:-未设置}"
|
||||
echo " CI_PIPELINE_NUMBER: ${CI_PIPELINE_NUMBER:-未设置}"
|
||||
echo " CI_REPO_ID: ${CI_REPO_ID:-未设置}"
|
||||
|
||||
echo ""
|
||||
echo "📋 问题3: Woodpecker CI 配置验证"
|
||||
echo "----------------------------------------"
|
||||
if command -v python3 &> /dev/null; then
|
||||
echo "运行 Python 诊断脚本..."
|
||||
python3 diagnose-woodpecker.py 2>/dev/null || echo "诊断脚本执行失败"
|
||||
else
|
||||
echo "⚠️ Python3 未安装,跳过配置验证"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "诊断完成"
|
||||
echo "=========================================="
|
||||
Reference in New Issue
Block a user