fix(ci): SHA-based production build/deploy - bypass act runner ref variable bugs #1641
Reference in New Issue
Block a user
Delete Branch "fix/ci-sha-based-production-build"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
Gitea Actions act runner v0.6.1 对 tag push 事件不设置
github.ref、gitea.ref、github.ref_name。已尝试 3 种变量均失败。修复
完全绕过 ref 变量,改用始终可靠的
GITHUB_SHA(commit SHA):startsWith(github.ref_name, v)→github.event_name == push(PR 不构建,其他 push 都构建)needs链GITHUB_REF_NAME/GITHUB_REF→GITHUB_SHA(全量 commit SHA)GITHUB_REF_NAME→GITHUB_SHA影响
ci_production_deploy.sh已支持 SHA 作为 IMAGE_TAG代码审查结果 - PR #1641
⚠️ 问题(2个需要修改)
deploy-production作业移除了原有的if: startsWith(github.ref_name, 'v')条件判断,仅依赖needs: build-production。由于build-production的触发条件(第1465行)已修改为所有push事件均触发,这将导致任何分支的代码提交都会触发生产环境部署,造成严重的生产环境稳定性风险和数据损坏风险。build-production作业的触发条件从仅限main分支和版本标签放宽为所有push事件。虽然构建镜像本身无妨,但结合下游部署逻辑,这是导致误部署生产环境的直接原因。生产相关流水线应严格限制分支权限。💡 建议(1个可选)
版本号或分支名+SHA修改为仅使用SHA。虽然保证了唯一性,但丧失了可读性,导致生产环境排查问题时难以快速对应代码版本。建议保留版本号或分支名作为辅助标签。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ⚠️ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-09-03 05:38:37 | 模型:
🚀 预览环境已部署
🗑️ 预览环境已清理
PR #1641 已关闭或合并,对应的预览环境已被清理。