Bitbucket Pipelines部署Nuxt3时dist目录在部署步骤缺失问题
解决Bitbucket Pipeline部署Nuxt3时dist目录传递失败的问题
检查artifacts配置的层级与路径
- 确保
artifacts: - dist/**是Build and Test步骤的子配置项,而非全局或其他层级配置。正确的配置结构示例:
pipelines: default: - step: name: Build and Test script: - npm install - npm run build artifacts: - dist/** # 必须归属当前步骤的配置块 - step: name: Deploy script: - ls -la - npm run deploy
- 若artifacts配置位置错误,Bitbucket不会将dist目录传递到后续步骤。
验证Nuxt3的构建输出目录
- Nuxt3默认构建输出目录为
.output,而非dist(除非手动修改配置)。检查nuxt.config.ts中的相关设置:
// nuxt.config.ts export default defineNuxtConfig({ // 确认是否手动指定了输出目录 buildDir: 'dist', // 或使用output配置 output: { dir: 'dist' } })
- 若未手动配置,Build步骤生成的实际是
.output目录,需将artifacts改为- .output/**,同时Deploy步骤的部署命令也要对应调整为使用.output目录。
检查Deploy步骤的克隆配置
- 确认Deploy步骤未设置
clone: false,该配置会导致Bitbucket不克隆仓库也不传递上一步的artifacts,直接造成目录丢失。默认clone: true,若手动设置过需改回。
确认Build步骤的dist目录非空
- Bitbucket不会传递空目录,检查Build步骤的ls截图,确认dist目录下存在文件。可在Build步骤中添加
ls -la dist/命令,明确目录内的内容情况。
清理Pipeline缓存
- 缓存异常可能导致目录传递失败,可在Build步骤添加清理命令:
- rm -rf node_modules .output dist - npm install
- 也可在Bitbucket仓库的Pipeline设置中手动清理缓存后重新运行Pipeline。
内容的提问来源于stack exchange,提问作者Kishan Bhensadadiya
相关产品推荐
相关产品推荐

