web-dev-qa-db-ja.com

Gitブランチ管理とデプロイ可能な環境

簡単に使用でき、継続的インテグレーション/デリバリーを可能にするgitブランチ管理モデルを探しています。

produatdevの3つの環境があると想像してください。

コードリポジトリには、ソースコードとインフラストラクチャがコードファイル(この場合はserverless.yml

ソースコード(gitタグ?)にセマンティックバージョニングを使用したいのですが、新しいバージョンのリリース時に自動デプロイを行いたいです。

私が現在想像しているように、gitにはロックされたブランチがmasterdevの2つしかないということです。 masterが現在のprod環境と一致する場合(マスターにマージするたびに、prodにデプロイされます)。 devにプッシュされたすべてのコミットはdev環境にデプロイされ、devにプッシュされたすべてのタグはuatにデプロイされます。

これはすべて可能に思えますが、私には不明な点がいくつかあります。

  • 「ソースコードに影響を与えない」インフラストラクチャへの変更を管理するにはどうすればよいですか?デプロイされたインスタンスの数を増やす必要があるとしましょう。

  • 理想的には、uatで受け入れられたバージョンのみを本番環境にリリースしたいのですが、タグなしのコミットがprod環境に到達しないようにするにはどうすればよいですか?

このトピック全般にアプローチする方法についての推奨事項を探しています。ありがとう!

2

あなたの質問は非常に一般的であるため、一般的な答えは避けられません。そうは言っても、私たちの会社でgitflow/devopsをどのように行っているかを(大まかに)あなたと共有できると思いました。先に進んで見てから、より具体的な質問をすることができます。

これは私たちの gitflow です。 AWSクラウドデプロイ を使用して、 ビットバケットパイプライン を使用してさまざまなgitブランチにプッシュするときにコードのデプロイを自動化します。それをどのように結び付けるかについてのスニークピークを見ることができます ここ

1
abbood