forked from linkong/planet
fix: polish ai provider rebuild feedback
This commit is contained in:
42
planet.sh
42
planet.sh
@@ -60,6 +60,7 @@ FRONTEND_RUNTIME_BIN="${FRONTEND_RUNTIME_BIN:-}"
|
||||
FRONTEND_RUNTIME_SOURCE="${FRONTEND_RUNTIME_SOURCE:-}"
|
||||
FRONTEND_PID_FILE="/tmp/planet_frontend.pid"
|
||||
AI_PROVIDER_BUILD_STAMP_FILE="/tmp/planet_aiprovider_build.sha256"
|
||||
AI_PROVIDER_BUILD_LOG_FILE="/tmp/planet_aiprovider_build.log"
|
||||
AI_PROVIDER_IMAGE_NAME="${AI_PROVIDER_IMAGE_NAME:-planet_aiprovider:latest}"
|
||||
AI_PROVIDER_CONTAINER_NAME="${AI_PROVIDER_CONTAINER_NAME:-planet_aiprovider}"
|
||||
AI_PROVIDER_RECREATE_REQUIRED=0
|
||||
@@ -131,7 +132,13 @@ compose_up() {
|
||||
}
|
||||
|
||||
compose_supports_build() {
|
||||
compose_up build --help >/dev/null 2>&1
|
||||
if compose_v2_available; then
|
||||
docker compose build --help >/dev/null 2>&1 && return 0
|
||||
fi
|
||||
if compose_v1_available; then
|
||||
docker-compose build --help >/dev/null 2>&1 && return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
# Terminal rendering helpers
|
||||
@@ -468,19 +475,40 @@ ensure_ai_provider_image_current() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! run_with_retry \
|
||||
"$AI_PROVIDER_START_MAX_RETRIES" \
|
||||
"$AI_PROVIDER_RETRY_INTERVAL" \
|
||||
"AI Provider 镜像构建失败,已重试 ${AI_PROVIDER_START_MAX_RETRIES} 次" \
|
||||
"构建 AI Provider 镜像" \
|
||||
compose_up build aiprovider; then
|
||||
: > "$AI_PROVIDER_BUILD_LOG_FILE"
|
||||
|
||||
if ! build_ai_provider_image_with_fallback; then
|
||||
clear_wait_spinner
|
||||
log_error "AI Provider 镜像构建失败"
|
||||
tail -20 "$AI_PROVIDER_BUILD_LOG_FILE" 2>/dev/null || true
|
||||
exit 1
|
||||
fi
|
||||
log_success "AI Provider 镜像已构建"
|
||||
|
||||
write_ai_provider_build_stamp "$current_fingerprint"
|
||||
AI_PROVIDER_RECREATE_REQUIRED=1
|
||||
}
|
||||
|
||||
build_ai_provider_image_with_fallback() {
|
||||
if compose_v2_available; then
|
||||
set_wait_detail "使用 Docker Compose v2 构建 AI Provider 镜像"
|
||||
if run_command_with_spinner "构建 AI Provider 镜像" sh -c "docker compose build aiprovider > \"$AI_PROVIDER_BUILD_LOG_FILE\" 2>&1"; then
|
||||
return 0
|
||||
fi
|
||||
log_warn "Docker Compose v2 构建失败,回退到 docker-compose v1"
|
||||
fi
|
||||
|
||||
if compose_v1_available; then
|
||||
set_wait_detail "使用 docker-compose v1 构建 AI Provider 镜像"
|
||||
if run_command_with_spinner "构建 AI Provider 镜像" sh -c "docker-compose build aiprovider > \"$AI_PROVIDER_BUILD_LOG_FILE\" 2>&1"; then
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
|
||||
report_missing_compose
|
||||
}
|
||||
|
||||
install_uv_if_needed() {
|
||||
if command -v uv >/dev/null 2>&1; then
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user