次のシナリオを可能にする RoR アプリの堅牢な展開戦略を設定する最善の方法は何ですか?
- 新機能のコミット
- ステージング環境にデプロイされた新機能
- 緊急機能/修正コミット
- ステージングに展開された緊急修正 (および以前の機能は除外されます)
- ステージングでテストされた緊急修正
- 本番環境にデプロイされた緊急修正
- 元の新機能をステージングに戻す
私が知る限り、git ブランチまたはタグ付け、あるいはその両方を使用する必要があります。これらのブランチやタグを維持するオーバーヘッドを削減または自動化できるツールはありますか?