1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-06-30 03:56:15 +08:00

fix: 升级ci脚本依赖,修复构建、部署异常

This commit is contained in:
chufan
2026-06-24 17:54:57 +08:00
parent ec4f19d069
commit 5c8c34cd3f
4 changed files with 1163 additions and 1130 deletions

View File

@@ -3,12 +3,11 @@
# - 用法: 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
FROM registry.cn-hangzhou.aliyuncs.com/142vip-infra/node:25.9.0-base AS build_base
ARG NEED_PROXY
## 设置环境变量支持容器构建时使用layer缓存参考https://pnpm.io/zh/docker
ENV PNPM_HOME="/pnpm"
@@ -17,8 +16,6 @@ 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 \
@@ -27,8 +24,7 @@ RUN --mount=type=cache,id=pnpm,target=/pnpm/store sh ./scripts/ci && if [ "$NEED
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
FROM --platform=linux/amd64 registry.cn-hangzhou.aliyuncs.com/142vip-infra/nginx:1.29.0-alpine
ARG APP_NAME
ARG APP_VERSION

View File

@@ -31,11 +31,11 @@
},
"devDependencies": {
"@142vip/commit-linter": "0.0.1-alpha.2",
"@142vip/eslint-config": "0.0.1-alpha.4",
"@142vip/fairy-cli": "0.0.3-alpha.26",
"@142vip/eslint-config": "0.0.1-alpha.5",
"@142vip/fairy-cli": "0.0.3-alpha.30",
"@142vip/open-source": "0.0.1-alpha.3",
"@142vip/utils": "0.0.1-alpha.37",
"@142vip/vuepress": "0.0.1-alpha.17",
"@142vip/utils": "0.0.1-alpha.52",
"@142vip/vuepress": "0.0.1-alpha.18",
"markmap-cli": "0.18.11",
"only-allow": "1.2.1",
"simple-git-hooks": "2.13.0",

2205
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,49 +1,45 @@
import { OPEN_SOURCE_ADDRESS, OPEN_SOURCE_AUTHOR } from '@142vip/open-source'
import {
VipConsole,
VipDocker,
VipGit,
VipNodeJS,
VipPackageJSON,
} from '@142vip/utils'
import { VipDocker, VipGit, VipNodeJS, VipPackageJSON } from '@142vip/utils'
/**
* 功能构建Docker镜像
*/
async function buildImageMain(): Promise<void> {
try {
// 获取package.json文件
const { name, version, description } = VipPackageJSON.getPackageJSON<{ description: string }>()
// 获取package.json文件
const { name, version, description } = VipPackageJSON.getPackageJSON<{ description: string }>()
// 镜像地址
const imageName = `${OPEN_SOURCE_ADDRESS.DOCKER_ALIYUNCS_VIP}/docs:${name}-${version}`
// 镜像地址
const imageName = `${OPEN_SOURCE_ADDRESS.DOCKER_ALIYUNCS_VIP}/docs:${name}-${version}`
// 最近一次提交信息
const shortGitHash = VipGit.getRecentCommitShortHash()
// 最近一次提交信息
const gitShortHash = VipGit.getRecentCommitShortHash()
// 构建镜像
await VipDocker.buildImage({
imageName,
buildArgs: [
// 参数中是否包含 --proxy
['NEED_PROXY', VipNodeJS.getProcessArgv().includes('--proxy')],
['APP_NAME', name],
['APP_VERSION', version],
['APP_DESCRIPTION', description],
['AUTHOR', OPEN_SOURCE_AUTHOR.name],
['EMAIL', OPEN_SOURCE_AUTHOR.email],
['HOME_PAGE', OPEN_SOURCE_AUTHOR.homePage],
['GIT_HASH', shortGitHash],
],
memory: 20000,
push: true,
delete: true,
logger: true,
})
}
catch (e) {
VipConsole.trace('异常信息:', e)
let realImageName = imageName
// 如果version是否为预发布是预发布则用hash当镜像名
if (VipGit.isPrerelease(version)) {
realImageName = `${imageName.split(':')[0]}:${name}-${version}-${gitShortHash}`
}
// 构建镜像
await VipDocker.buildImage({
imageName: realImageName,
buildArgs: [
// 参数中是否包含 --proxy
['NEED_PROXY', VipNodeJS.getProcessArgv().includes('--proxy')],
['APP_NAME', name],
['APP_VERSION', version],
['APP_DESCRIPTION', description],
['AUTHOR', OPEN_SOURCE_AUTHOR.name],
['EMAIL', OPEN_SOURCE_AUTHOR.email],
['HOME_PAGE', OPEN_SOURCE_AUTHOR.homePage],
['GIT_HASH', gitShortHash],
],
memory: 200000,
push: true,
delete: true,
logger: true,
progress: 'plain',
})
}
void buildImageMain()