mirror of
https://github.com/142vip/408CSFamily.git
synced 2026-06-30 03:56:15 +08:00
fix: 升级ci脚本依赖,修复构建、部署异常
This commit is contained in:
10
Dockerfile
10
Dockerfile
@@ -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
|
||||
|
||||
@@ -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
2205
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user