Files
devos/Docs/devos-v1-phase2/04-WEBSITE-DEPLOYMENT.md
phptits 0d6cd37579 DevOS v1 + Phase 2: unified resource model, infra ops, website deployment, AI chat ops
- Monorepo: NestJS API (Fastify) + React web (antd/ProComponents) + shared packages
- PostgreSQL/Prisma (unified resources, relations graph, audit, events, jobs)
- Auth/RBAC/workspace isolation, credential vault (AES-256-GCM)
- Servers/SSH, Docker discovery & lifecycle, Job Center
- Websites & deployments (git provider credential clone, env, health verification)
- Domains/DNS (Cloudflare adapter), certificates (TLS probe), monitoring
- Automation (cron/event/webhook HMAC + notifications), AI Gateway, MCP (29 tools)
- AI chat window (LLM function-calling + rules fallback, SSE streaming, approvals)
- Notes: Vditor WYSIWYG markdown editor, non-blocking autosave
- Tests: 35 unit/security tests; UI audit clean (desktop+mobile, deep links)
2026-09-10 06:35:55 +00:00

1.2 KiB

04 — Website & Deployment Completion

Website 生命周期

Website
 → Repository
 → Environment
 → Server
 → Build
 → Deploy
 → Health Check
 → Domain
 → SSL
 → Monitoring

Repository access

禁止要求用户把 private repository token 放进 URL。

建立:

GitProviderConnection
  ├── provider
  ├── credentialId
  ├── externalAccountId
  └── metadata

Repository 使用 provider + externalId/clone metadata。

Deployment

Deployment 必须成为 Job 的一种领域操作,并保存:

  • commit/ref
  • source repository
  • target server
  • environment
  • build strategy
  • deployment strategy
  • started/finished
  • logs
  • result
  • health check

部署策略

V1 支持:

  1. Docker Compose / Dockerfile 项目
  2. 静态网站
  3. 可扩展 deployment adapter

不要把部署逻辑硬编码到 Website Controller。

Environment

支持:

  • development
  • staging
  • production

环境变量值使用 Credential Vault 或加密存储,UI 默认 mask。

Health verification

部署成功不能只看 SSH exit code,必须执行 health check;失败则 Deployment 状态为 failed/verification_failed,并展示证据。