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

1.5 KiB
Raw Blame History

遷移與上線設計 (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 FlagsRelease flags、Operational flags、Experiment flags、Permission flags
  • Schema EvolutionAdditive Changes安全vs Destructive Changes需遷移
  • Migration StrategyExpand → Migrate → Contract 三階段
  • RollbackApplication Rollback、Database Rollback 與決策矩陣

知識合約職責

  • 提供遷移與上線設計的理論指引
  • 不直接產生遷移腳本或上線腳本

不應做的事

  • 不替系統選擇特定部署策略
  • 不定義具體的 Feature Flag 名稱或值
  • 不產生遷移或部署腳本