chore(deploy): 修复 Docker 启动链 + 补 compose + Gitea Actions
This commit is contained in:
+17
-13
@@ -106,26 +106,26 @@ async function deploy() {
|
||||
logStep('📦', '安装依赖...')
|
||||
let installed = false
|
||||
|
||||
// 优先尝试 pnpm install --frozen-lockfile
|
||||
if (fileExists('pnpm-lock.yaml')) {
|
||||
log('尝试使用 pnpm install --frozen-lockfile 安装...', 'cyan')
|
||||
if (safeExec('pnpm install --frozen-lockfile')) {
|
||||
// 优先使用 npm(用户要求:禁止 pnpm)—— 优先 package-lock.json 冻结安装
|
||||
if (fileExists('package-lock.json')) {
|
||||
log('尝试使用 npm ci(基于 package-lock.json 冻结安装)...', 'cyan')
|
||||
if (safeExec('npm ci --no-audit --no-fund')) {
|
||||
installed = true
|
||||
logSuccess('依赖安装完成 (pnpm install --frozen-lockfile)')
|
||||
logSuccess('依赖安装完成 (npm ci)')
|
||||
} else {
|
||||
logWarning('pnpm install --frozen-lockfile 安装失败,准备回退到 pnpm install...')
|
||||
logWarning('npm ci 失败,准备回退到 npm install...')
|
||||
}
|
||||
} else {
|
||||
logWarning('未检测到 pnpm-lock.yaml,跳过冻结锁文件安装,直接使用 pnpm install...')
|
||||
logWarning('未检测到 package-lock.json,直接使用 npm install...')
|
||||
}
|
||||
|
||||
// 如果冻结锁文件安装没运行或失败,使用 pnpm install
|
||||
// 兜底用 npm install
|
||||
if (!installed) {
|
||||
log('正在使用 pnpm install 安装...', 'cyan')
|
||||
if (!safeExec('pnpm install')) {
|
||||
log('正在使用 npm install 安装...', 'cyan')
|
||||
if (!safeExec('npm install --no-audit --no-fund')) {
|
||||
throw new Error('依赖安装失败')
|
||||
}
|
||||
logSuccess('依赖安装完成 (pnpm install)')
|
||||
logSuccess('依赖安装完成 (npm install)')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,7 +166,10 @@ async function deploy() {
|
||||
// 4. 创建管理员账户
|
||||
if (fileExists('scripts/create-admin.js') && dbSyncSuccess) {
|
||||
logStep('👤', '检查管理员账户...')
|
||||
safeExec('pnpm run create-admin')
|
||||
// 优先 npm run create-admin,兜底直接用 node_modules/.bin/tsx 调用(用户禁用 pnpm)
|
||||
if (!safeExec('npm run create-admin')) {
|
||||
safeExec('./node_modules/.bin/tsx scripts/create-admin.js')
|
||||
}
|
||||
}
|
||||
|
||||
// 5. 构建应用
|
||||
@@ -178,7 +181,8 @@ async function deploy() {
|
||||
...process.env,
|
||||
NODE_OPTIONS: process.env.NODE_OPTIONS || DEFAULT_NODE_OPTIONS
|
||||
}
|
||||
if (!safeExec('pnpm exec nuxt build', { env: buildEnv })) {
|
||||
// 用 npm run build(= nuxt build),避免用 pnpm exec
|
||||
if (!safeExec('npm run build', { env: buildEnv })) {
|
||||
throw new Error('应用构建失败')
|
||||
}
|
||||
logSuccess('应用构建完成')
|
||||
|
||||
Reference in New Issue
Block a user