fix(ci): staging-e2e/api-tests容器名改用GITHUB_SHA命名,彻底解决DooD模式命名冲突 #808
Reference in New Issue
Block a user
Delete Branch "fix/staging-e2e-container-name"
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?
问题
DooD模式下,CI容器的PID在同一Runner上是固定的(每个job容器PID=1),
staging-e2e-$$命名方式会导致上一次失败没清理干净时,下一次同名冲突。修复
staging-e2e-$$→staging-e2e-${GITHUB_SHA::8}staging-api-tests-$$→staging-api-tests-${GITHUB_SHA::8}用commit SHA前缀命名,天然唯一且有辨识度。配合已有的
docker rm -f前置清理(#795),双重保障。代码审查结果 - PR #808
⚠️ 问题(2个需要修改)
GITHUB_SHA::8作为唯一标识符,当同一个 Commit 触发多次 CI 任务(例如手动重试、不同分支同时指向同一 Commit)时,会产生相同的容器名称。后启动的任务会执行docker rm -f强制删除前序任务的容器,导致前序任务异常失败,或者docker create因名称占用而报错。💡 建议(1个可选)
$$或结合GITHUB_SHA使用,例如CONTAINER_NAME="staging-e2e-${GITHUB_SHA::8}-$$",既能关联提交信息,又能保证同一并发环境下的容器名称唯一性。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能
🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 01:44:35 | 模型:
🗑️ 预览环境已清理
PR #808 已关闭或合并,对应的预览环境已被清理。