跳转到主要内容

打包发布

BuildingAI 应用打包发布完整指南。本文档详细介绍如何将开发完成的应用打包成符合规范的标准代码包。
打包发布必须遵循 BuildingAI 的规范,否则会导致插件无法正常加载。

打包方式对比

BuildingAI 支持以下两种应用打包方式:
打包方式适用场景优势特点
脚本打包自动化部署自动化程度高,批量处理通过命令行交互操作
可视化打包手动操作图形化界面,直观易用通过Web界面操作

脚本打包

通过命令行工具进行自动化打包,适合CI/CD流程和批量处理场景。

前置条件

确保您已完成应用开发,并且代码可以通过编译和测试。

操作步骤

1. 进入项目根目录

cd BuildingAI

2. 执行打包命令

pnpm extension:release

3. 交互式配置

终端会出现如下交互界面:
脚本打包交互界面

4. 填写版本信息

根据输入指引,依次输入:
  • 应用标识符:应用的唯一标识
  • 目标版本号:要发布的版本号
  • 是否重新构建:选择是否需要重新构建插件
如果您的代码包中的版本号忘记修改,不用担心,这个脚本会自动帮您修改为您输入的目标版本号。

5. 等待打包完成

打包完成界面

6. 获取打包结果

执行完成后,您可以在项目根目录下的 releases 目录下找到刚刚生成的该版本的标准代码包。
打包结果目录

自动化集成

# CI/CD 集成示例
pnpm extension:release << EOF
my-app
1.0.0
y
EOF

可视化打包

可视化打包功能开发中
可视化打包功能正在完善中,敬请期待。预计将支持图形化界面操作,让打包过程更加直观便捷。

打包规范

BuildingAI 对打包后的代码包有严格的目录结构要求,确保插件能够被正确识别和加载。

允许的目录结构

代码包中,一级目录下只能包含以下文件和目录:
.output/              # 构建输出目录
build/                # 构建产物目录
src/                  # 源代码目录
storage/              # 文件存储目录
static/               # 静态资源目录
.gitkeep             # Git占位文件
.gitignore           # Git忽略配置
eslint.config.mjs    # ESLint配置
LICENSE              # 开源协议
manifest.json        # 应用清单
nuxt.config.ts       # Nuxt配置
README.md            # 项目说明
SEEDS.md            # 数据库种子说明
tsconfig.json        # TypeScript配置
tsconfig.web.json    # 前端TypeScript配置
tsconfig.api.json    # 后端TypeScript配置
tsup.config.ts       # 模块打包配置
package.json         # 项目配置

文件过滤规则

以下文件和目录将被自动排除:
  • node_modules/
  • .git/
  • *.log
  • .DS_Store
  • Thumbs.db
  • 临时文件和缓存

目录结构说明

目录作用重要性
.output/构建后的生产文件可选
build/编译后的静态文件推荐
src/应用源代码必需
storage/用户上传文件可选
static/静态资源文件可选

质量保证

版本管理

版本号规范:遵循语义化版本控制(SemVer)
  • 主版本号:不兼容的API修改
  • 次版本号:向下兼容的功能性新增
  • 修订号:向下兼容的问题修正

代码质量检查

# 打包前质量检查
pnpm lint
pnpm type-check
pnpm test
pnpm build

安全检查

  • 敏感信息清理(API密钥、密码等)
  • 依赖安全漏洞扫描
  • 代码静态分析
  • 权限配置验证

常见问题

常见原因及解决方案:
  1. 编译错误:检查TypeScript类型错误和构建配置
  2. 依赖缺失:运行 pnpm install 安装所有依赖
  3. 版本冲突:检查package.json中的版本约束
  4. 权限问题:确保有写入releases目录的权限
验证步骤:
  1. 检查releases目录下的打包文件
  2. 解压并验证目录结构
  3. 运行 pnpm install 确保依赖完整
  4. 执行基础功能测试
当前支持的发布方式:
  • 本地文件打包
  • Git仓库标签
  • 内部文件服务器
  • 后续将支持更多发布渠道

最佳实践

1. 版本发布流程

2. 自动化建议

CI/CD集成

将打包流程集成到持续集成/持续部署流水线

自动化测试

在打包前执行完整的测试套件

版本控制

使用Git标签管理发布版本

3. 发布检查清单

相关文档

创建应用

学习如何创建新的应用模板

模板结构

了解应用目录结构和规范

应用开发

开发环境搭建和调试指南