This commit is contained in:
vipg
2025-11-11 14:53:21 +08:00
parent 5f5b6f93ab
commit 00fd75ceaa

58
backend/user/src/build.sh Normal file
View File

@@ -0,0 +1,58 @@
#!/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 "===== 构建脚本执行完成 ====="