Files
asset_assistant/backend/user/build.sh
2025-11-11 14:16:29 +08:00

58 lines
1.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
set -e
# 定义日志函数(带时间戳和级别)
log_info() {
echo "[$(date +'%Y-%m-%d %H:%M:%S')] [INFO] $1"
}
log_warn() {
echo "[$(date +'%Y-%m-%d %H:%M:%S')] [WARN] $1" >&2
}
log_error() {
echo "[$(date +'%Y-%m-%d %H:%M:%S')] [ERROR] $1" >&2
}
# 定义镜像信息
IMAGE_NAME="user-api"
IMAGE_TAG="1.0.0"
FULL_IMAGE="${IMAGE_NAME}:${IMAGE_TAG}"
COMPOSE_PROJECT_NAME="user_service"
DOCKER_COMPOSE_FILE="./docker-compose.yaml"
log_info "===== 开始执行构建脚本 ====="
# 步骤1删除现有镜像
log_info "尝试删除现有镜像: ${FULL_IMAGE}"
if sudo docker rmi -f "${FULL_IMAGE}" >/dev/null 2>&1; then
log_info "镜像 ${FULL_IMAGE} 删除成功"
else
log_warn "镜像 ${FULL_IMAGE} 不存在,跳过删除步骤"
fi
# 步骤2构建新镜像
log_info "开始构建新镜像: ${FULL_IMAGE}Dockerfile位于src目录"
if sudo docker build -t "${FULL_IMAGE}" -f ./src/Dockerfile .; then
log_info "镜像 ${FULL_IMAGE} 构建成功"
else
log_error "镜像 ${FULL_IMAGE} 构建失败"
exit 1
fi
# 步骤3停止docker-compose服务
log_info "开始停止编排服务: ${COMPOSE_PROJECT_NAME}"
if [ ! -f "$DOCKER_COMPOSE_FILE" ]; then
log_error "未找到docker-compose文件: ${DOCKER_COMPOSE_FILE}"
exit 1
fi
log_info "执行 docker-compose down 命令"
if docker-compose -f "$DOCKER_COMPOSE_FILE" -p "$COMPOSE_PROJECT_NAME" down; then
log_info "编排服务 ${COMPOSE_PROJECT_NAME} 已成功停止"
else
log_error "编排服务 ${COMPOSE_PROJECT_NAME} 停止失败"
exit 1
fi
log_info "===== 构建脚本执行完成 ====="