#!/bin/bash set -e # ============================================================ # 碳信网 - 统一构建脚本 # 用法: bash devops/build.sh [VERSION] # 示例: bash devops/build.sh 1.0.0-BETA # ============================================================ VERSION=${1:-1.0.0-BETA} PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" echo "=========================================" echo " 碳信网 - 统一构建" echo "=========================================" echo " 版本: ${VERSION}" echo " 项目目录: ${PROJECT_DIR}" echo "=========================================" cd "${PROJECT_DIR}" echo "" echo ">>> [1/3] 构建前端 (mhzc-web) ..." cd txw-mhzc-web if [ ! -d "node_modules" ]; then npm install fi npm run build cd "${PROJECT_DIR}" echo "" echo ">>> [2/3] 构建前端 (yygl-web) ..." cd txw-yygl-web if [ ! -d "node_modules" ]; then npm install fi npm run build cd "${PROJECT_DIR}" echo "" echo ">>> [3/4] 构建后端镜像 (txw-all) ..." docker build \ -t txw-all:${VERSION} \ -t txw-all:latest \ -f devops/Dockerfile "${PROJECT_DIR}" echo ">>> 后端镜像构建完成" echo "" echo ">>> [4/4] 构建前端镜像 (txw-web) ..." docker build \ -t txw-web:${VERSION} \ -t txw-web:latest \ -f devops/web/Dockerfile "${PROJECT_DIR}" echo ">>> 前端镜像构建完成" echo "" echo "=========================================" echo " 所有镜像构建完成!" echo "=========================================" echo "" echo "镜像列表:" echo " 后端: txw-all:${VERSION}" echo " 前端: txw-web:${VERSION}" echo "" echo "运行示例:" echo " docker run -e SERVICE_NAME=gateway txw-all:${VERSION}" echo " docker run -p 8080:8080 txw-web:${VERSION}"