发布与部署
发布与部署
build / 数据库迁移 / skills seed / 重启服务 的发布流程与脚本。
本页是 InteMatrix-Background 的发布 runbook:所有命令在仓库根目录执行。
一键发布准备
bun run release:prep # = build + db:migrate + skills:seedbun 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/outputbun run dev # 本地:web:8000 / admin:8003 / worker / programmer:3006 / docs:80085. 发布后冒烟
· 登录: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.tech6. 常见坑
· 端口: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