perf(ci): 后端镜像构建优化——腾讯云Maven镜像源+BuildKit缓存
CI/CD Deploy (Admin) / 构建后端镜像并部署 (push) Successful in 4m23s

- 镜像源从阿里云换成腾讯云(内网直连,解决依赖下载仅几十KB/s的问题)
- RUN 加 BuildKit cache mount 持久化 /root/.m2/repository,跨构建复用
- CI 构建步骤显式启用 DOCKER_BUILDKIT=1
This commit is contained in:
zhangjiaxun
2026-10-16 23:53:55 +08:00
parent e37c13d541
commit f07c1ae6b8
2 changed files with 7 additions and 6 deletions
+1
View File
@@ -47,6 +47,7 @@ jobs:
- name: 构建后端镜像
run: |
set -euo pipefail
export DOCKER_BUILDKIT=1
docker build -t freedom-admin:latest /opt/freedom/workspace-admin
- name: 部署后端服务
+6 -6
View File
@@ -6,7 +6,7 @@
FROM maven:3.6.3-jdk-8 AS builder
WORKDIR /build
# 配置 Maven 国内镜像源,加速依赖下载
# 配置腾讯云镜像源(腾讯云服务器内网直连,速度远快于公网阿里云)
RUN mkdir -p /root/.m2 && \
echo '<?xml version="1.0" encoding="UTF-8"?>' > /root/.m2/settings.xml && \
echo '<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"' >> /root/.m2/settings.xml && \
@@ -14,10 +14,10 @@ RUN mkdir -p /root/.m2 && \
echo ' xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">' >> /root/.m2/settings.xml && \
echo ' <mirrors>' >> /root/.m2/settings.xml && \
echo ' <mirror>' >> /root/.m2/settings.xml && \
echo ' <id>aliyun</id>' >> /root/.m2/settings.xml && \
echo ' <id>tencent</id>' >> /root/.m2/settings.xml && \
echo ' <mirrorOf>central</mirrorOf>' >> /root/.m2/settings.xml && \
echo ' <name>Aliyun Maven</name>' >> /root/.m2/settings.xml && \
echo ' <url>https://maven.aliyun.com/repository/central</url>' >> /root/.m2/settings.xml && \
echo ' <name>Tencent Cloud Maven</name>' >> /root/.m2/settings.xml && \
echo ' <url>https://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>' >> /root/.m2/settings.xml && \
echo ' </mirror>' >> /root/.m2/settings.xml && \
echo ' </mirrors>' >> /root/.m2/settings.xml && \
echo '</settings>' >> /root/.m2/settings.xml
@@ -26,8 +26,8 @@ RUN mkdir -p /root/.m2 && \
COPY pom.xml .
COPY src ./src
# 打包(跳过测试),产物 target/freedom-admin-1.0.1.jar
RUN mvn -B clean package -DskipTests
# 打包(跳过测试),使用 BuildKit cache mount 持久化 Maven 仓库,跨构建复用
RUN --mount=type=cache,target=/root/.m2/repository mvn -B clean package -DskipTests
# ---------- 运行阶段 ----------
FROM openjdk:8-jre-slim