This commit is contained in:
2025-11-26 18:07:17 +08:00
parent 881b77ddde
commit 529e923c2b
3 changed files with 46 additions and 4 deletions

View File

@@ -19,6 +19,7 @@ IMAGE_TAG="latest"
BUILD_TYPE="${1:-prod}" # 构建类型dev, prod, stage
DOCKER_REGISTRY="" # Docker镜像仓库地址
PUSH_IMAGE="${2:-false}" # 是否推送镜像
RUN_CONTAINER="${3:-false}" # 是否运行容器
# 日志函数
log_info() {
@@ -39,7 +40,7 @@ log_step() {
# 显示帮助信息
show_help() {
echo "用法: $0 [构建类型] [是否推送镜像]"
echo "用法: $0 [构建类型] [是否推送镜像] [是否运行容器]"
echo ""
echo "构建类型:"
echo " dev 开发环境构建"
@@ -50,6 +51,10 @@ show_help() {
echo " true 构建完成后推送镜像到仓库"
echo " false 仅构建镜像,不推送(默认)"
echo ""
echo "是否运行容器:"
echo " true 构建完成后使用docker-compose启动容器"
echo " false 仅构建镜像,不启动容器(默认)"
echo ""
echo "环境变量:"
echo " DOCKER_REGISTRY 设置Docker镜像仓库地址"
echo ""
@@ -57,6 +62,7 @@ show_help() {
echo " $0 # 生产环境构建,不推送镜像"
echo " $0 dev # 开发环境构建"
echo " $0 prod true # 生产环境构建并推送镜像"
echo " $0 prod false true # 生产环境构建并运行容器"
echo " DOCKER_REGISTRY=registry.example.com $0 prod true # 推送到指定仓库"
}
@@ -82,9 +88,16 @@ check_dependencies() {
exit 1
fi
# 检查Docker Compose plugin
if ! docker compose version &> /dev/null; then
log_error "Docker Compose plugin 未安装"
exit 1
fi
log_info "Node.js版本: $(node --version)"
log_info "npm版本: $(npm --version)"
log_info "Docker版本: $(docker --version)"
log_info "Docker Compose版本: $(docker compose version)"
}
# 清理构建缓存
@@ -230,6 +243,29 @@ push_docker_image() {
log_info "镜像推送完成"
}
# 启动Docker容器
run_container() {
if [[ "$RUN_CONTAINER" != "true" ]]; then
return
fi
log_step "启动Docker容器..."
if [ ! -f "docker-compose.yml" ]; then
log_warn "docker-compose.yml 文件未找到,跳过容器启动"
return
fi
log_info "停止现有服务..."
docker compose down || true
log_info "启动新服务..."
docker compose up -d
log_info "容器启动完成"
docker compose ps
}
# 生成部署信息文件
generate_deploy_info() {
log_step "生成部署信息..."
@@ -269,11 +305,16 @@ show_summary() {
echo "构建时间: $(date)"
echo ""
if [[ "$PUSH_IMAGE" == "true" && -n "$DOCKER_REGISTRY" ]]; then
if [[ "$RUN_CONTAINER" == "true" ]]; then
echo "容器已通过 docker-compose 启动"
echo "使用 'docker compose ps' 查看状态"
elif [[ "$PUSH_IMAGE" == "true" && -n "$DOCKER_REGISTRY" ]]; then
echo "镜像已推送到: $DOCKER_REGISTRY/$IMAGE_NAME:$IMAGE_TAG"
else
echo "镜像已构建完成,可使用以下命令运行:"
echo " docker run -d -p 80:80 $IMAGE_NAME:$IMAGE_TAG"
echo "或通过 docker-compose 启动:"
echo " docker compose up -d"
fi
echo ""
@@ -297,6 +338,7 @@ main() {
build_frontend
build_docker_image
push_docker_image
run_container
generate_deploy_info
show_summary

View File

@@ -98,7 +98,7 @@ http {
# point-strategy 路径转发到后端服务
location /point-strategy/ {
proxy_pass http://digital-archive-app:9081/;
proxy_pass http://digital-archive-app:9081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';

View File

@@ -691,7 +691,7 @@ export default {
}, 200);
}
} else {
let name = row.file_name_server.replace(".jpg", ".pdf");
let name = row.file_name_server
this.picUrl =
process.env.NODE_ENV === "development"
? "http://" +