txw/devops/build.sh
2026-05-03 15:01:18 +08:00

69 lines
1.7 KiB
Bash

#!/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}"