chore: 调整正式环境和测试环境发版区别
This commit is contained in:
parent
a141806d73
commit
b1f70c0cac
@ -97,11 +97,14 @@ FROM --platform=$TARGETARCH eclipse-temurin:8-jre
|
||||
WORKDIR /app
|
||||
|
||||
# 安装字体(用于验证码 Captcha)
|
||||
# 使用中科大镜像加速(amd64 用 ubuntu,勿用 ubuntu-ports)
|
||||
RUN echo 'deb http://mirrors.ustc.edu.cn/ubuntu/ noble main restricted universe multiverse' > /etc/apt/sources.list && \
|
||||
echo 'deb http://mirrors.ustc.edu.cn/ubuntu/ noble-updates main restricted universe multiverse' >> /etc/apt/sources.list && \
|
||||
echo 'deb http://mirrors.ustc.edu.cn/ubuntu/ noble-backports main restricted universe multiverse' >> /etc/apt/sources.list && \
|
||||
apt-get update && apt-get install -y --no-install-recommends \
|
||||
# 使用中科大镜像加速
|
||||
# 彻底删除所有旧源(关键!包括DEB822格式新源)→ 写入中科大arm64专属源 → 安装字体
|
||||
RUN rm -rf /etc/apt/sources.list /etc/apt/sources.list.d/* && \
|
||||
echo 'deb http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse' > /etc/apt/sources.list && \
|
||||
echo 'deb http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse' >> /etc/apt/sources.list && \
|
||||
echo 'deb http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse' >> /etc/apt/sources.list && \
|
||||
echo 'deb http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse' >> /etc/apt/sources.list && \
|
||||
apt-get update -y && apt-get install -y --no-install-recommends \
|
||||
fontconfig \
|
||||
fonts-noto-cjk \
|
||||
&& fc-cache -f -v \
|
||||
@ -109,7 +112,7 @@ RUN echo 'deb http://mirrors.ustc.edu.cn/ubuntu/ noble main restricted universe
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY devops/start.sh /app/start.sh
|
||||
RUN sed -i 's/\r$//' /app/start.sh && chmod +x /app/start.sh
|
||||
RUN chmod +x /app/start.sh
|
||||
|
||||
# 复制所有构建产物
|
||||
COPY --from=builder /build/gateway/target/springboot.jar /app/gateway.jar
|
||||
|
||||
131
devops/Dockerfile.test
Normal file
131
devops/Dockerfile.test
Normal file
@ -0,0 +1,131 @@
|
||||
# ============================================================
|
||||
# 碳信网 - 统一后端构建镜像
|
||||
# 支持多平台构建: docker buildx build --platform linux/arm64,linux/amd64
|
||||
# 使用方式: docker run -e SERVICE_NAME=gateway txw-all:latest
|
||||
# ============================================================
|
||||
|
||||
# Stage 1: Build
|
||||
# 使用多架构 Maven 镜像,自动选择对应平台版本
|
||||
FROM --platform=$BUILDPLATFORM maven:3.6.3-openjdk-8 AS builder
|
||||
|
||||
# Maven 构建参数
|
||||
ARG TARGETARCH
|
||||
ARG BUILDARCH
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# -------------------------------------------
|
||||
# Step 1: 复制所有 pom.xml 和 settings
|
||||
# -------------------------------------------
|
||||
|
||||
# 公共模块
|
||||
COPY txw-common/pom.xml txw-common/pom.xml
|
||||
COPY txw-common/src txw-common/src
|
||||
|
||||
# Gateway
|
||||
COPY txw-gateway/pom.xml gateway/pom.xml
|
||||
COPY txw-gateway/devops/settings-offline.xml gateway/settings.xml
|
||||
COPY txw-gateway/src gateway/src
|
||||
|
||||
# SSO
|
||||
COPY txw-sso/pom.xml sso/pom.xml
|
||||
COPY txw-sso/devops/settings-offline.xml sso/settings.xml
|
||||
COPY txw-sso/txw-sso-service-api/pom.xml sso/txw-sso-service-api/pom.xml
|
||||
COPY txw-sso/txw-sso-service-api/src sso/txw-sso-service-api/src
|
||||
COPY txw-sso/txw-sso-service-biz/pom.xml sso/txw-sso-service-biz/pom.xml
|
||||
COPY txw-sso/txw-sso-service-biz/src sso/txw-sso-service-biz/src
|
||||
|
||||
# MHZC
|
||||
COPY txw-mhzc/pom.xml mhzc/pom.xml
|
||||
COPY txw-mhzc/devops/settings-offline.xml mhzc/settings.xml
|
||||
COPY txw-mhzc/txw-mhzc-service-api/pom.xml mhzc/txw-mhzc-service-api/pom.xml
|
||||
COPY txw-mhzc/txw-mhzc-service-api/src mhzc/txw-mhzc-service-api/src
|
||||
COPY txw-mhzc/txw-mhzc-service-biz/pom.xml mhzc/txw-mhzc-service-biz/pom.xml
|
||||
COPY txw-mhzc/txw-mhzc-service-biz/src mhzc/txw-mhzc-service-biz/src
|
||||
|
||||
# YYGL
|
||||
COPY txw-yygl/pom.xml yygl/pom.xml
|
||||
COPY txw-yygl/settings.xml yygl/settings.xml
|
||||
COPY txw-yygl/txw-yygl-service-api/pom.xml yygl/txw-yygl-service-api/pom.xml
|
||||
COPY txw-yygl/txw-yygl-service-api/src yygl/txw-yygl-service-api/src
|
||||
COPY txw-yygl/txw-yygl-service-biz/pom.xml yygl/txw-yygl-service-biz/pom.xml
|
||||
COPY txw-yygl/txw-yygl-service-biz/src yygl/txw-yygl-service-biz/src
|
||||
|
||||
# -------------------------------------------
|
||||
# Step 2: 复制 Maven 本地仓库(离线构建)
|
||||
# 注意:若本地仓库中有编译好的二进制 native 库(非 Java byte code),
|
||||
# 需要确保这些库是跨平台的,或在 ARM64 上重新构建
|
||||
# -------------------------------------------
|
||||
COPY script/.m2/repository /root/.m2/repository
|
||||
|
||||
# -------------------------------------------
|
||||
# Step 3: 按依赖顺序构建
|
||||
# -------------------------------------------
|
||||
|
||||
# 3.1 构建公共模块
|
||||
WORKDIR /build/txw-common
|
||||
RUN mvn clean install -DskipTests -s ../gateway/settings.xml -o || mvn clean install -DskipTests
|
||||
|
||||
# 3.2 构建 API 模块
|
||||
WORKDIR /build/mhzc/txw-mhzc-service-api
|
||||
RUN mvn clean install -DskipTests -s ../../gateway/settings.xml -o || mvn clean install -DskipTests
|
||||
|
||||
WORKDIR /build/sso/txw-sso-service-api
|
||||
RUN mvn clean install -DskipTests -s ../../gateway/settings.xml -o || mvn clean install -DskipTests
|
||||
|
||||
WORKDIR /build/yygl/txw-yygl-service-api
|
||||
RUN mvn clean install -DskipTests -s ../../gateway/settings.xml -o || mvn clean install -DskipTests
|
||||
|
||||
# 3.3 构建 BIZ 模块
|
||||
WORKDIR /build/mhzc/txw-mhzc-service-biz
|
||||
RUN mvn clean package -DskipTests -s ../../gateway/settings.xml -o || mvn clean package -DskipTests
|
||||
|
||||
WORKDIR /build/sso/txw-sso-service-biz
|
||||
RUN mvn clean package -DskipTests -s ../../gateway/settings.xml -o || mvn clean package -DskipTests
|
||||
|
||||
WORKDIR /build/yygl/txw-yygl-service-biz
|
||||
RUN mvn clean package -DskipTests -s ../../gateway/settings.xml -o || mvn clean package -DskipTests
|
||||
|
||||
# 3.4 构建 Gateway
|
||||
WORKDIR /build/gateway
|
||||
RUN mvn clean package -DskipTests -s settings.xml -o || mvn clean package -DskipTests
|
||||
|
||||
# Stage 2: Package
|
||||
# 使用多架构 JRE 镜像,指定目标平台
|
||||
FROM --platform=$TARGETARCH eclipse-temurin:8-jre
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 安装字体(用于验证码 Captcha)
|
||||
# 使用中科大镜像加速(amd64 用 ubuntu,勿用 ubuntu-ports)
|
||||
RUN echo 'deb http://mirrors.ustc.edu.cn/ubuntu/ noble main restricted universe multiverse' > /etc/apt/sources.list && \
|
||||
echo 'deb http://mirrors.ustc.edu.cn/ubuntu/ noble-updates main restricted universe multiverse' >> /etc/apt/sources.list && \
|
||||
echo 'deb http://mirrors.ustc.edu.cn/ubuntu/ noble-backports main restricted universe multiverse' >> /etc/apt/sources.list && \
|
||||
apt-get update && apt-get install -y --no-install-recommends \
|
||||
fontconfig \
|
||||
fonts-noto-cjk \
|
||||
&& fc-cache -f -v \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY devops/start.sh /app/start.sh
|
||||
RUN sed -i 's/\r$//' /app/start.sh && chmod +x /app/start.sh
|
||||
|
||||
# 复制所有构建产物
|
||||
COPY --from=builder /build/gateway/target/springboot.jar /app/gateway.jar
|
||||
COPY --from=builder /build/sso/txw-sso-service-biz/target/txw-sso-service-biz.jar /app/sso.jar
|
||||
COPY --from=builder /build/mhzc/txw-mhzc-service-biz/target/txw-mhzc-service-biz.jar /app/mhzc.jar
|
||||
COPY --from=builder /build/yygl/txw-yygl-service-biz/target/txw-yygl-service-biz.jar /app/yygl.jar
|
||||
|
||||
# 清理构建缓存
|
||||
RUN rm -rf /root/.m2 /root/.mvn
|
||||
|
||||
# 环境变量:指定启动的服务名
|
||||
ENV SERVICE_NAME=gateway
|
||||
|
||||
# 激活正式环境 profile
|
||||
ENV SPRING_PROFILES_ACTIVE=prod
|
||||
|
||||
EXPOSE 9300 9301 9302 9303 20010
|
||||
|
||||
ENTRYPOINT ["/app/start.sh"]
|
||||
@ -38,10 +38,11 @@ bash build.sh 1.0.0-BETA
|
||||
4. 构建前端镜像 `txw-web`
|
||||
|
||||
#### 构建测试环境
|
||||
|
||||
仅构建后端
|
||||
|
||||
```
|
||||
docker build -t txw-all:1.0.0-BETA -t txw-all:latest -f devops/Dockerfile .
|
||||
docker build -t txw-all:1.0.0-BETA -t txw-all:latest -f devops/Dockerfile.test .
|
||||
```
|
||||
|
||||
仅构建前端
|
||||
@ -130,16 +131,16 @@ docker-compose -f docker-compose.svc.yml ps
|
||||
|
||||
## 服务访问
|
||||
|
||||
| 服务 | 地址 | 说明 |
|
||||
| ------- | --------------------------- | ----------------------------- |
|
||||
| Nacos 控制台 | http://localhost:8080/index.html | Nacos 3.x Web 控制台 |
|
||||
| Nacos API | http://localhost:8848/nacos | 默认账号: nacos / nacos |
|
||||
| Redis | localhost:6379 | 密码: redis_password |
|
||||
| MinIO | http://localhost:9000 | 控制台: http://localhost:9001 |
|
||||
| Gateway | http://localhost:9300 | API 网关 |
|
||||
| SSO | http://localhost:9301 | 单点登录 |
|
||||
| MHZC | http://localhost:9302 | 碳资产服务 |
|
||||
| YYGL | http://localhost:20010 | 运营管理服务 |
|
||||
| 服务 | 地址 | 说明 |
|
||||
| ------------ | -------------------------------- | ----------------------------- |
|
||||
| Nacos 控制台 | http://localhost:8080/index.html | Nacos 3.x Web 控制台 |
|
||||
| Nacos API | http://localhost:8848/nacos | 默认账号: nacos / nacos |
|
||||
| Redis | localhost:6379 | 密码: redis_password |
|
||||
| MinIO | http://localhost:9000 | 控制台: http://localhost:9001 |
|
||||
| Gateway | http://localhost:9300 | API 网关 |
|
||||
| SSO | http://localhost:9301 | 单点登录 |
|
||||
| MHZC | http://localhost:9302 | 碳资产服务 |
|
||||
| YYGL | http://localhost:20010 | 运营管理服务 |
|
||||
|
||||
---
|
||||
|
||||
@ -233,10 +234,9 @@ curl http://localhost:8848/nacos/v1/ns/operator/metrics
|
||||
docker exec txw-redis redis-cli -a redis_password ping
|
||||
```
|
||||
|
||||
|
||||
## 参考指令
|
||||
|
||||
```
|
||||
// 清理缓存
|
||||
docker buildx prune
|
||||
```
|
||||
```
|
||||
|
||||
Loading…
Reference in New Issue
Block a user