bugfix
This commit is contained in:
@@ -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 "")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user