ci: 基座切 idealjs/node:24.21.0-bookworm-slim(crane 直传转推,digest 一致);Dockerfile 移仓库根,按 依赖清单→安装→打包 分层,yarn4 直调 yarnPath 脚本免 corepack;CI 基座走 VPC 内网端点、凭据拆双 secret printf 登录、构建后登出清凭据、删产物上传步骤
This commit is contained in:
1 parent
99e8de3512
commit
4de4492354
4 files changed
+45
-49
No files matched your search
+23
@@ -0,0 +1,23 @@
|
||||
# 教程站构建镜像——CI 用 buildah(无 daemon)执行,本地 docker/podman build 同样可用。
|
||||
# 基座=自家阿里云镜像仓(idealjs/node,由官方 node:24.21.0-bookworm-slim 转推;私有仓,需 login)。
|
||||
# 默认公网端点(本地可用);阿里云同 region 的 CI 传 --build-arg BASE_REGISTRY=registry-vpc.cn-hangzhou.aliyuncs.com 走内网。
|
||||
ARG BASE_REGISTRY=registry.cn-hangzhou.aliyuncs.com
|
||||
FROM ${BASE_REGISTRY}/idealjs/node:24.21.0-bookworm-slim
|
||||
|
||||
ENV YARN_NPM_REGISTRY_SERVER=https://registry.npmmirror.com
|
||||
WORKDIR /workspace
|
||||
|
||||
# ① 依赖配置——只拷贝清单/锁文件/yarn 运行时,源码变更不失效依赖层
|
||||
COPY .yarnrc.yml package.json yarn.lock ./
|
||||
COPY .yarn/releases/yarn-4.9.2.cjs .yarn/releases/
|
||||
COPY apps/tutorial/package.json apps/tutorial/
|
||||
COPY apps/design-lab/package.json apps/design-lab/
|
||||
COPY packages/design-system/package.json packages/design-system/
|
||||
COPY packages/stack-idealjs/package.json packages/stack-idealjs/
|
||||
|
||||
# ② 安装依赖——yarn 4.9.2 由 yarnPath(.yarn/releases)提供,node 直调脚本,不依赖 corepack/全局 yarn
|
||||
RUN node .yarn/releases/yarn-4.9.2.cjs install --immutable
|
||||
|
||||
# ③ 打包——monorepo 全量源码(.dockerignore 瘦身,无 node_modules/dist);产物在 /workspace/apps/tutorial/dist
|
||||
COPY . .
|
||||
RUN node .yarn/releases/yarn-4.9.2.cjs workspace @stack/tutorial build
|
||||
Reference in new issue
Block a user