私は以下の要件を満たすために最善の分岐と展開の戦略を研究しています。たぶん私は何かが欠けているかもしれませんが、それはもっと複雑です。理想的には、プロダクションへのリリースをマークするためにタグを付けられた特定のコミットを持つことができる1つの永続的なブランチ、「マスター」を持つだけです。TeamCityとOctopusを使用してこの分岐と展開の戦略を実現する方法
私たちの現在の戦略は、Git Flowに基づいており、永久的な支店「master」(本番へのリリースのみ)と「開発」を持っています。複数のパーマネントブランチモデルを使用することを複雑にする主なことは、同じビルドをステージング環境からプロダクションに「促進する」という概念です。現在、これは別々のソースコードブランチで実行する必要があります(ステージングへのデプロイメントは '開発'から、デプロイメントは 'マスター'からのものです)。
ツール: Gitリポジトリ(VSTS)、チームシティー、タコ展開
要件(機能および修正プログラムのライフサイクル):すべてのコードがプル要求を経由して見直され
- (分岐方針を経て施行)
- すべてのコードがテスト用のステージング環境にデプロイされます
- デプロイされたコードのスナップショットにすばやく戻ることができますテストは、同じビルドが
機能がシングルとして生産に押し出す前に、時間をかけて蓄積生産(再構築する必要はありません)に私たちのステージング環境から「昇格」することができます成功した場合、以前に
私は、タグ付きの永続ブランチを持つアイデアが好きです(マスター/開発スプリットは冗長、http://endoflineblog.com/gitflow-considered-harmful)が、永久的なブランチを追加すると、異なるライフサイクル/バージョン(機能と修正プログラム)をOctopus 。
私はこの問題を解決するための最善の方法を取り組んできました。どんなフィードバックもありがとうございます。
実際にあなたの質問は何ですか?インフラストラクチャといくつかの一般的なアイデアについて説明しましたが、テキストには何の疑問もなく、答えは出せませんでした(議論や意見は実際に答えではありません)。 – cyberskunk
申し訳ありません。私はタイトルを更新しました。私はリストされたツールを使用してリストされた要件を達成する方法を理解しようとしています。 – FahnzMode
この質問は多すぎます。これらは2つの自動化ツールと1つのSCMで、ほとんど何でも実現できます。あなたはデザイン/練習を提供できますか?それを改善するためのアイデアを提供できるかどうかがわかりますか?それはもっと簡単かもしれません。 –