This commit is contained in:
2026-09-14 00:54:48 +08:00
parent 9c5a3bc5e4
commit 3e31cccae3
+17
View File
@@ -78,6 +78,23 @@ jobs:
# 容器内进程是 uid 10001,日志目录要给它写权限
chown -R 10001:10001 "$DIR/storage"
# 配置文件含密钥,不打入镜像,由运维手动放置。缺失或不可读会导致容器启动即 panic,
# 此处提前拦截,避免「容器起不来 → 健康检查失败 → 回滚」这种误导性报错。
CONFIG_FILE="$DIR/configs/config.yaml"
if [ ! -f "$CONFIG_FILE" ]; then
echo "缺少配置文件:$CONFIG_FILE" >&2
echo "请参考仓库 configs/config.example.yaml 在生产机放置该文件后重试。" >&2
exit 1
fi
# 容器内为 uid 10001,需 other 可读(推荐 644):权限位末位为 4~7 才可读
case "$(stat -c '%a' "$CONFIG_FILE" 2>/dev/null || echo 644)" in
*4|*5|*6|*7) echo "配置文件就绪:$CONFIG_FILE" ;;
*)
echo "配置文件权限过严:$CONFIG_FILE 需对 uid 10001 可读(chmod 644)" >&2
exit 1
;;
esac
# 记住旧镜像,用于失败回滚
OLD_IMAGE=$(docker inspect -f '{{.Image}}' $APP 2>/dev/null || echo "")