🐳 修改 docker 构建逻辑.
This commit is contained in:
16
docker/builder/Dockerfile.service
Normal file
16
docker/builder/Dockerfile.service
Normal file
@@ -0,0 +1,16 @@
|
||||
FROM maven:3.9.10-eclipse-temurin-8-alpine AS builder
|
||||
|
||||
# 设置阿里云镜像加速
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
|
||||
# 拷贝 settings.xml
|
||||
COPY ./docker/builder/maven-settings.xml /root/.m2/settings.xml
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
COPY . .
|
||||
|
||||
# 复制 POM 文件先进行依赖下载 (利用 Docker 缓存)
|
||||
RUN mvn dependency:go-offline --settings=/root/.m2/settings.xml
|
||||
# 构建
|
||||
RUN mvn clean package -DskipTests --settings=/root/.m2/settings.xml
|
||||
25
docker/builder/Dockerfile.ui
Normal file
25
docker/builder/Dockerfile.ui
Normal file
@@ -0,0 +1,25 @@
|
||||
FROM node:18-alpine AS builder
|
||||
|
||||
# 设置阿里云镜像加速
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
|
||||
# 安装 pnpm
|
||||
RUN corepack enable && corepack prepare pnpm@latest --activate
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# 设置 pnpm 使用指定的 registry
|
||||
ARG REGISTRY_URL=https://registry.npmmirror.com
|
||||
RUN pnpm config set registry $REGISTRY_URL
|
||||
|
||||
# 复制项目文件
|
||||
COPY ./orion-visor-ui/package.json ./orion-visor-ui/pnpm-lock.yaml* ./
|
||||
|
||||
# 安装依赖 (利用 Docker 缓存层)
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# 复制源代码
|
||||
COPY ./orion-visor-ui/ .
|
||||
|
||||
# 构建项目
|
||||
RUN pnpm build
|
||||
54
docker/builder/maven-settings.xml
Normal file
54
docker/builder/maven-settings.xml
Normal file
@@ -0,0 +1,54 @@
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>repos</id>
|
||||
<repositories>
|
||||
<!-- 阿里云 Maven 公共仓库 -->
|
||||
<repository>
|
||||
<id>aliyun</id>
|
||||
<name>Aliyun Repository</name>
|
||||
<url>https://maven.aliyun.com/repository/public</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
|
||||
<!-- Maven 中央仓库 -->
|
||||
<repository>
|
||||
<id>central</id>
|
||||
<name>Maven Central Repository</name>
|
||||
<url>https://repo.maven.apache.org/maven2</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>aliyun-plugin</id>
|
||||
<url>https://maven.aliyun.com/repository/public</url>
|
||||
</pluginRepository>
|
||||
<pluginRepository>
|
||||
<id>central-plugin</id>
|
||||
<url>https://repo.maven.apache.org/maven2</url>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<!-- 激活 profile -->
|
||||
<activeProfiles>
|
||||
<activeProfile>repos</activeProfile>
|
||||
</activeProfiles>
|
||||
|
||||
</settings>
|
||||
Reference in New Issue
Block a user