0

Azureでホストされる少なくとも3つの個別のレイヤーを使用して、多層.NETアプリケーションを開発することを計画しています。

  • Webフロントエンド
  • バックエンド/ワーカーの役割
  • データベース

Azure Git PublishingとGitHubを使用して、各レイヤーを個別に継続的にデプロイできるようにしたいと思います。コンポーネント間でコードを共有しながら、各コンポーネントのAzureデプロイメントを個別に有効にするために、gitブランチを整理するための最良の方法は何ですか?

できれば、すべてのコードを1つのgitブランチに入れ、Azureでそれぞれに個別のビルド/公開プロセスを設定したいと思います。ただし、これは機能しないと思われます。理由は次のとおりです。

  1. Azureは、ブランチ内のプッシュを使用してデプロイをトリガーします。フロントエンドを更新してバックエンドの展開をトリガーしたくありません。
  2. 私の知る限り、Azureが公開する出力を生成するために使用するビルドコマンドを構成する方法はありません。

別々のGitブランチを使用する必要がある場合、それらの間でコードを共有する最も簡単な方法は何ですか?

4

2 に答える 2

2

親切な先生、

デプロイ ターゲットごとに git リポジトリが必要になるようです。つまり、他とは独立して展開することを希望する各レイヤーのレポです。さらに、共有コード用のもう 1 つのレポ。おそらく、共有コードはいくつかの dll にコンパイルされ、NuGet パッケージとしてバンドルすることで他のプロジェクトと共有できます。このようにして、たとえば Web フロント エンドは、共有コードへの気まぐれな更新でデプロイをトリガーしません。これは、NuGet の更新を行った場合にのみ発生します。

そうは言っても、「バックエンドの展開をトリガーするためにフロントエンドへの更新を望まない」というのは本当に要件なのでしょうか? 私の職場では、ほぼすべての展開が完全に自動化されています。ダウンタイムはありません。1 日に 5 回、10 回、またはそれ以上の頻度で展開することもあります。何度も気にする必要はありません。それもできれば、大きな git リポジトリを 1 つ持つことができます。はい、レイヤーに影響を与えない変更がそのレイヤーを展開する場合がありますが、まあ、気にしないでください。コードの編成と共有が非常に簡単になります。

あなたの仲間、ジョシュ

于 2013-01-16T20:30:27.767 に答える
0

この関連する質問によると、Azure git 発行は Web サイトでのみ使用でき、クラウド サービスでは使用できません。

したがって、個別のプロジェクトの公開を許可する組織の問題は関係ありません。最も簡単なオプションは、プロジェクトを 1 つの Git ブランチに保持し、従来の Azure デプロイを使用することです (Git の自動発行ではありません)。

于 2013-01-18T17:06:31.593 に答える