From f22a073fd962cd13e8dd8672a5d250bee46eb852 Mon Sep 17 00:00:00 2001 From: fawney19 Date: Fri, 19 Dec 2025 11:32:43 +0800 Subject: [PATCH] fix: rebuild app image when base image changes during deployment - Track BASE_REBUILT flag to detect base image rebuilds - Force app image rebuild when base image is rebuilt - Prevents stale app images built with outdated base images - Ensures consistent deployment when base dependencies change --- deploy.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/deploy.sh b/deploy.sh index 8ca453d..f372c3f 100755 --- a/deploy.sh +++ b/deploy.sh @@ -162,25 +162,32 @@ git pull # 标记是否需要重启 NEED_RESTART=false +BASE_REBUILT=false # 检查基础镜像是否存在,或依赖是否变化 if ! docker image inspect aether-base:latest >/dev/null 2>&1; then echo ">>> Base image not found, building..." build_base + BASE_REBUILT=true NEED_RESTART=true elif check_deps_changed; then echo ">>> Dependencies changed, rebuilding base image..." build_base + BASE_REBUILT=true NEED_RESTART=true else echo ">>> Dependencies unchanged." fi -# 检查代码是否变化 +# 检查代码是否变化,或者 base 重建了(app 依赖 base) if ! docker image inspect aether-app:latest >/dev/null 2>&1; then echo ">>> App image not found, building..." build_app NEED_RESTART=true +elif [ "$BASE_REBUILT" = true ]; then + echo ">>> Base image rebuilt, rebuilding app image..." + build_app + NEED_RESTART=true elif check_code_changed; then echo ">>> Code changed, rebuilding app image..." build_app