0

トランクベースの開発をに実行すると、継続的な展開が達成されます。これが分岐戦略です。プル要求通信戦略

マスター>いただきました!ライブ本番中

リリース>テストに合格し、CIサーバ

DEV>開発チームから毎日マージによって作成されたポイントを解放します。

リリースからマスターステージへのプルリクエストを検討する場合は、 そのアプローチの長所と短所は何ですか? devブランチでPRをしたい開発チームとこれをどのように伝えることができますか?

enter image description here

+0

あなたが既に行っているイメージから、正確にはどういう意味ですか? – Edwin

+0

かなり健全な戦略のようです。だから、マスターは実際には配備されるブランチであり、リリースブランチを特定のバージョンのマイルストーンとして使用しますか?私はあなたがロールバックする必要がある場合、一つの欠点があるかもしれないと思います。リリースタグをチェックして再展開するのと同じくらい単純ではありませんが、小規模で頻繁にリリースする場合、前方修正は合法的オプションです。 – HomerPlata

+0

開発チームは、自動化キラーであるdevブランチでPRをしたいと考えています。問題にどのようにアプローチすればよいですか? –

答えて

1

私は本当に答えを持っていますが、質問の内容をさらに議論する価値があるとは思いません。

継続展開を行っている場合は、リリースブランチの目的がわかりません。これは、どちらかの目的を複製しているようだ:

  • 「マスター」:コードが展開されている/
  • リリース 支店を統合機能「を開発」ではなく、準備がリリース

それとも、あなたはミニマスターブランチのようなマイルストーンまたは計画されたメジャーリリース(すなわち、リリース/ 1.0,リリース/ 2.0)をグループ化するために使用します。
この継続配信(展開、多分)は考慮しませんが、プロジェクトで連続配信ではなくステージリリースが必要な場合は、確かに有効なパターンです。

また、CIの設定と、ブランチとの統合方法も考慮する必要があります。 Productionにデプロイされるのはソースコードではありませんが、CIシステムのアーティファクトをビルドします。これについて考えると、分岐モデルが単純化される可能性があります。 ロールバックする場合は、ソースからアプリケーションを再構築したくない場合は、以前のバージョンの事前構築済み成果物を再配備する必要があります。同様に、すべてのテストに合格し、出荷準備が整っているビルドが既に存在している場合は、別のブランチにマージして再構築して新しいビルド - テストされたビルドを使用します。

次の考慮点は、すべての追加のブランチが開発者にとって複雑な時間&を追加することです。マージ、リクエストの引き出し、CIの実行の待機などは自由ではないので、分岐戦略の複雑さを最小限に抑えることは良い目標です。

どこからPRするかについての質問に答えるには、「開発」をメインラインとみなし、常に安定して動作させようとしますか?
もしそうなら、feature-to-developからのPRが重要な統合です。開発は、テスト環境に組み立てられ、テストされ、展開されます。
その時点で展開から分岐する(すなわち、リリースブランチを作成する)ことは良好であることが知られています。 再構築せずに、テスト環境から本番環境への成果物をプロモートすると、ブランチの1つが不要になる可能性があります。

+0

継続展開を実行している場合は、リリースブランチの目的がわかりません。いずれかの目的を複製しているようです: 何らかの状態で事業をロックして、何が行われたかを確認したいと考えています。リリースポイントについて考えると、品質チェックされたコードと同じです。 –

+0

回答ありがとう –