跳转到内容

发布与部署

发布与部署

build / 数据库迁移 / skills seed / 重启服务 的发布流程与脚本。

本页是 InteMatrix-Background 的发布 runbook:所有命令在仓库根目录执行。

一键发布准备

终端窗口
bun run release:prep # = build + db:migrate + skills:seed
bun run release:verify # 发布后复验(同上)

1. 构建(build)1/2

终端窗口
bun run build # turbo run build:web/admin/worker/plugin-dev/packages 全量
bun run build:packages # 只构建 packages/*
bun run build:apps # 只构建 apps/*

产物位置:

1. 构建(build)2/2

应用 产物
apps/web .svelte-kit/output
apps/admin build/
apps/worker dist/
packages/* dist/
apps/docs dist/(Astro Starlight 静态站)

2. 数据库迁移(migrate)

终端窗口
bun run db:migrate # = turbo run db:migrate(drizzle-kit migrate)
  • 迁移文件:packages/db/drizzle/*.sql,journal:packages/db/drizzle/meta/_journal.json
  • 若出现「applied < journal」(迁移历史漂移):按 journal 的 pending 逐条执行 SQL 并回写 drizzle.__drizzle_migrations(容错 already exists),再重跑直到 [✓] migrations applied successfully!

3. 数据 Seed

终端窗口
bun run skills:seed # 官方 skills 配置(已存在不覆盖)
bun run db:seed # 基础数据(用户/积分桶/套餐等)

4. 重启服务

终端窗口
pkill -f "vite dev" ; pkill -f "@InteMatrix-programmer/server"
rm -rf apps/web/.svelte-kit/output
bun run dev # 本地:web:8000 / admin:8003 / worker / programmer:3006 / docs:8008

5. 发布后冒烟

· 登录:http://localhost:3000/oauth/authorize(Adm OAuth)
· web 首页:http://localhost:8000/
· Agent API:GET /api/agent/v1/account/me(Bearer imk_…)
· Agent Skill 下载:/api/agent/skill
· 部署 Tab:/chat/<conversationId>/deployment(记录/余额/域名,30s 轮询)
· 多容器域名:{容器}.{代码仓UUID去横杠}.cloud-deploy.intematrix.tech

6. 常见坑

· 端口:3000 Adm / 8000 web / 8003 admin / 8008 docs / 8088 部署服务
冲突先查 lsof -nP -iTCP:<port> -sTCP:LISTEN
· 部署服务:DEPLOY_API_URL=http://127.0.0.1:8088,DEPLOY_API_KEY=dev-deploy-admin(本地)
· 钱包/计费:PAYMENT_API_URL=http://127.0.0.1:2003,启动门槛 10 元
· 部署归属键 = 代码仓 ID(conversationId),不是 projectId
· 迁移失败先对比 _journal.json 与 __drizzle_migrations
切换到普通模式

目录