mirror of
https://github.com/142vip/408CSFamily.git
synced 2026-02-02 18:20:26 +08:00
54 lines
1.5 KiB
Docker
54 lines
1.5 KiB
Docker
#
|
||
# - 功能: 408CSFamily镜像构建
|
||
# - 用法: docker build -f Dockerfile --build-arg APP_VERSION=0.0.1 -t 408CSFamily-0.0.1 .
|
||
# - 参数:
|
||
# APP_VERSION: 版本
|
||
# CONTAINER_BUILD: 采用容器构建
|
||
#
|
||
# 注意:vite构建需要支持node14以上,安装node16较为稳妥
|
||
|
||
FROM registry.cn-hangzhou.aliyuncs.com/142vip/node:20.17.0-alpine AS build_base
|
||
ARG CONTAINER_BUILD
|
||
|
||
## 设置环境变量,支持容器构建时使用layer缓存,参考:https://pnpm.io/zh/docker
|
||
ENV PNPM_HOME="/pnpm"
|
||
ENV PATH="$PNPM_HOME:$PATH"
|
||
|
||
WORKDIR /apps
|
||
COPY . .
|
||
|
||
RUN echo $CONTAINER_BUILD;
|
||
|
||
## 基于容器自动构建
|
||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store sh ./scripts/ci && if [ "$NEED_PROXY" = "false" ]; \
|
||
then \
|
||
pnpm build; \
|
||
else \
|
||
pnpm build:proxy; \
|
||
fi;
|
||
|
||
FROM --platform=linux/amd64 registry.cn-hangzhou.aliyuncs.com/142vip/nginx:1.27.0-alpine
|
||
#FROM --platform=linux/amd64 ,linux/arm64 nginx:1.27.0-alpine
|
||
|
||
ARG APP_NAME
|
||
ARG APP_VERSION
|
||
ARG AUTHOR
|
||
ARG EMAIL
|
||
ARG DESCRIPTION
|
||
ARG GIT_HASH
|
||
ARG GIT_MESSAGE
|
||
ARG HOME_PAGE
|
||
|
||
# 作者信息
|
||
LABEL "maintainer"="$AUTHOR <$EMAIL>"
|
||
|
||
# 项目信息
|
||
LABEL "repo.name"=$APP_NAME "repo.version"=$APP_VERSION \
|
||
"repo.homePage"="$HOME_PAGE" "repo.description"="$DESCRIPTION"
|
||
|
||
# Git信息
|
||
LABEL "git.hash"="$GIT_HASH" "git.message"="$GIT_MESSAGE"
|
||
# 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 注意:--from参数
|
||
COPY --from=build_base /apps/docs/.vuepress/dist/ /usr/share/nginx/html/
|
||
COPY --from=build_base /apps/nginx.conf /etc/nginx/
|