opencode-workflow/skills/migration-rollout-design/README.zh-TW.md

35 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 遷移與上線設計 (Migration Rollout Design) 知識合約指南
## 概述
`migration-rollout-design` 是知識合約用來提供遷移與上線設計的原則與模式。涵蓋向後相容、上線策略、Canary Deployment、Feature Flags、Schema Evolution 與 Rollback。供 `design-architecture` 在定義 Migration & Rollout Strategy 時參考。
## 核心原則
### 向後相容優先
- 新版本必須與舊版本共存於遷移期間
- API 必須向後相容直到所有消費者都遷移完成
- 資料庫結構必須同時支援舊版和新版程式碼
### 增量勝過 Big-Bang
- 增量遷移,一步一步來
- 每步必須可獨立部署與逆轉
- Big-Bang 遷移風險高,逆轉困難
### 預設 Rollback
- 每個遷移步驟必須有明確的 rollback 計畫
- Feature Flags 可實現即時 rollback無需重新部署
## 設計重點
- **上線策略**Blue-Green Deployment、Canary Deployment、Rolling Deployment、Feature Flag Deployment
- **Feature Flags**Release flags、Operational flags、Experiment flags、Permission flags
- **Schema Evolution**Additive Changes安全vs Destructive Changes需遷移
- **Migration Strategy**Expand → Migrate → Contract 三階段
- **Rollback**Application Rollback、Database Rollback 與決策矩陣
## 知識合約職責
- 提供遷移與上線設計的理論指引
- 不直接產生遷移腳本或上線腳本
## 不應做的事
- 不替系統選擇特定部署策略
- 不定義具體的 Feature Flag 名稱或值
- 不產生遷移或部署腳本