mirror of
https://github.com/fawney19/Aether.git
synced 2026-01-02 15:52:26 +08:00
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
This commit is contained in:
@@ -162,25 +162,32 @@ git pull
|
|||||||
|
|
||||||
# 标记是否需要重启
|
# 标记是否需要重启
|
||||||
NEED_RESTART=false
|
NEED_RESTART=false
|
||||||
|
BASE_REBUILT=false
|
||||||
|
|
||||||
# 检查基础镜像是否存在,或依赖是否变化
|
# 检查基础镜像是否存在,或依赖是否变化
|
||||||
if ! docker image inspect aether-base:latest >/dev/null 2>&1; then
|
if ! docker image inspect aether-base:latest >/dev/null 2>&1; then
|
||||||
echo ">>> Base image not found, building..."
|
echo ">>> Base image not found, building..."
|
||||||
build_base
|
build_base
|
||||||
|
BASE_REBUILT=true
|
||||||
NEED_RESTART=true
|
NEED_RESTART=true
|
||||||
elif check_deps_changed; then
|
elif check_deps_changed; then
|
||||||
echo ">>> Dependencies changed, rebuilding base image..."
|
echo ">>> Dependencies changed, rebuilding base image..."
|
||||||
build_base
|
build_base
|
||||||
|
BASE_REBUILT=true
|
||||||
NEED_RESTART=true
|
NEED_RESTART=true
|
||||||
else
|
else
|
||||||
echo ">>> Dependencies unchanged."
|
echo ">>> Dependencies unchanged."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 检查代码是否变化
|
# 检查代码是否变化,或者 base 重建了(app 依赖 base)
|
||||||
if ! docker image inspect aether-app:latest >/dev/null 2>&1; then
|
if ! docker image inspect aether-app:latest >/dev/null 2>&1; then
|
||||||
echo ">>> App image not found, building..."
|
echo ">>> App image not found, building..."
|
||||||
build_app
|
build_app
|
||||||
NEED_RESTART=true
|
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
|
elif check_code_changed; then
|
||||||
echo ">>> Code changed, rebuilding app image..."
|
echo ">>> Code changed, rebuilding app image..."
|
||||||
build_app
|
build_app
|
||||||
|
|||||||
Reference in New Issue
Block a user