BitzOrcas 不把本地编排方式直接复制成唯一生产拓扑。AppHost 负责开发环境;生产环境独立部署 API、JobHost 和可选 Gateway,并由平台提供数据库、消息、缓存、Secret 与 OTLP。
Host 边界
| Host | 职责 | 生产状态 |
|---|---|---|
BitzOrcas.Api | HTTP、认证授权、业务端点、轻量兜底调度 | 独立部署 |
BitzOrcas.JobHost | Quartz、工作流、审计保留等后台任务 | 独立部署 |
BitzOrcas.Gateway | 可选边缘入口 | 按 Profile/拓扑部署 |
BitzOrcas.AppHost | 本地 Aspire 编排 | 不作为生产制品 |
ServiceDefaults | OTel、健康检查与服务默认配置 | 被 Host 引用,不单独运行 |
典型生产依赖
Ingress / Gateway → API → SQL Server → RabbitMQ / CAP Outbox → Redis → S3-compatible 对象存储 → OTLP Collector
JobHost → SQL Server / RabbitMQ / Redis / S3-compatible 对象存储 / OTLP Collector实际依赖由 Profile 和启用模块决定。仓库没有把 Kubernetes 或某个云厂商模板声明成唯一正式部署方式;基础设施代码必须经过目标环境评审和演练。
上线顺序
- 准备 Secret、连接串、License 公钥与持久 DeploymentId。
- 备份数据库,按顺序执行尚未应用的迁移脚本。
- 部署 API/JobHost,但先不切入生产流量。
- 验证
/health/live、/health/ready、License 状态和 OTLP。 - 对商业包执行 Commercial GA;源码内部署至少完成对应 CI/acceptance。
- 灰度切流,观察错误率、延迟、队列积压和数据库指标。
- 达到停止条件立即回滚;观察期结束后再清理旧版本。
另见
- 部署形态选择
- Aspire 本地编排
- 1Panel Linux 开发预览部署
- 1Panel OpenResty 单机蓝绿
- 数据库初始化与迁移
- 生产配置
- 监控与告警
- CI/CD
- 商业 GA 门禁
- 生产安全检查
最小发布证据包
每次发布至少保存源码 Commit、镜像或包摘要、配置版本、迁移清单、SBOM/provenance、门禁报告、审批人、开始/结束时间与回滚版本。环境中的 Secret 值不进入证据包,只记录 Secret 版本或引用。
# ① 发布前验证公开健康语义;ready 失败时不得继续切流。curl -fsS "$CANDIDATE_URL/health/live"curl -fsS "$CANDIDATE_URL/health/ready"
# ② 保存不可变镜像摘要,而不是只记录可移动 tag。docker inspect --format='{{index .RepoDigests 0}}' "$IMAGE"API 与 JobHost 应引用同一发布批次,但可以独立扩缩容和回滚。数据库迁移不可简单随应用回滚;每个破坏性变更都需要前向修复或明确恢复方案。
本章核心导航
- 01/12
部署形态选择
在 systemd 单机、docker-compose 和 Kubernetes 三条发布路径之间做出选择,并理解三 Host 的迁移、启动与回滚顺序。
- 02/12
Aspire 本地编排
使用 BitzOrcas.AppHost 编排 SQL Server、RabbitMQ、Redis、MinIO、schema 初始化器、LicenseSigner、API、JobHost 和 Vite 前端。
- 03/12
数据库初始化与迁移
锁安全 --init-schema、/host/schema 审阅脚本与 Host-Admin 漂移通知如何配合。
- 04/12
CI/CD 与质量门禁
理解 BitzOrcas 当前的 GitHub Actions 流水线、测试分层、Consumer 合同与商业 GA 门禁。
- 05/12
AWS 部署设计(Terraform 待交付)
在仓库尚未提供受支持 Terraform 模块的前提下,给出 AWS 部署映射、验收要求和不应承诺的边界。
- 06/12
备份、恢复与灾难演练
为数据库、对象存储、消息、Redis 密钥环和配置制定 RPO/RTO、恢复顺序与可验证演练。
- 07/12
生产配置与启动守卫
为 API 与 JobHost 组织非敏感配置、Secret、Provider 选择、缓存预热、配置校验和滚动发布证据。
- 08/12
监控、告警与 Runbook
从 OpenTelemetry 信号、SLI/SLO 和依赖积压建立可行动告警,并为每条告警绑定恢复手册。
- 09/12
GA 切换 runbook
把一次 BitzOrcas 发布提升到 GA 的运维 runbook——切换前门禁、配置与密钥、迁移顺序、健康检查、运维验证、Webhook 演练、流量切换、回滚与切换后记录。
- 10/12
告警 runbook
具体的告警阈值、逐信号诊断 runbook 与监控系统接入矩阵。模板定义阈值;外部监控系统抓取 OTel 并触发告警。
- 11/12
1Panel Linux 开发预览部署
在已安装 1Panel、OpenResty、SQL Server、Redis、RabbitMQ、MinIO 与 AgileConfig 的 Linux 服务器上部署 BitzOrcas 开发预览环境,含打包、发版、数据库初始化模式(schema-only/platform-seed/full-seed)与登录排障。
- 12/12
1Panel OpenResty 单机蓝绿
在 1Panel OpenResty 反代站点上用 named upstream 做单机蓝绿切流,避免把 upstream 写进 server 上下文或写死 8082 端口。