可啟用和停用功能的功能標幟 feature-flags
功能標幟可讓您在執行階段開啟或關閉應用程式功能,而不需重新部署程式碼。 此外,他們還將計畫碼部署與功能可用性分開 — 新計畫碼可以在標幟後面部署到生產環境,並且僅在您準備好時開啟。
此做法可大幅降低風險。 開發人員可以靈活自信地建立,而產品團隊仍可控制每個功能發佈的時間和對象。
在開發期間管理相依性 manage-dependencies
在快速開發週期中進行測試時,功能標幟有助於管理相依性。 開發人員花在解決合併衝突和重構上的時間更少,而花在提供功能上的時間則更多。
由於功能可用性是在程式碼之外加以控制,因此多個功能可同時開發,而不需要複雜的分支。 個別功能可以獨立前轉或後轉,而不會影響其他進行中的功能。
深色部署 dark-deployments
由於啟用和停用決策位於程式碼基底之外,因此您可以將程式碼部署到生產環境,同時讓一般使用者看不到此功能。 這稱為深色部署。
深色部署可讓您將計畫碼安全地推送至生產環境、在即時環境中針對真實條件測試計畫碼,並在您選擇時上線,而不是在部署排程強制您上線時。
逐步轉出 gradual-rollout
準備發行時,您可以使用功能標幟來執行逐步推出:開啟功能至1%的使用者、測量意見與效能,然後逐步增加。
這種滾動式方法可讓您更嚴密地控制您提供的體驗,並以更快的速度與真實使用者進行回饋迴路,讓您的團隊可在完整版發行之前快速回應。
終止開關 kill-switch
如果發行未按計畫進行 — 不利的回饋、錯誤或效能問題 — 您可以使用功能標幟作為 終止開關 立即關閉功能。 不需要變更或重新部署程式碼。
功能標幟生命週期 lifecycle
體驗轉出中的功能標幟會遵循此一般生命週期:
recommendation-more-help
d13798b4-8a4f-43f0-94df-d937d1de33b1