69 lines
1.7 KiB
Bash
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}" |