私たちの組織のアプリケーションに適合する持続可能な継続的な展開ワークフローに関する適切なアドバイスをまだ見つけていません。現在、単一の大規模なリポジトリを使用してすべてのソース コードを格納し、複数の VS2010 *.sln ファイルを使用して関連する製品/ツールをグループ化しています。また、 git ではなく mercurial を介して、このすばらしい記事で概説されているのdevelop
と同様のブランチ戦略も使用しています。アプリケーションは、公開 Web サイト、内部 Web サイト、Windows サービス、ユーティリティ、開発ツールなど、さまざまです。master
私が見つけた包括的な例のいくつかでさえ、リポジトリ内のさまざまなレベルでの展開に実際には対応していません (見落としていない限り)。
私のデフォルトのビルドmain.sln
は、リポジトリのルートにあり、リポジトリ内のすべてのプロジェクトをビルドしています。この構成は、機能ブランチを構築するようにも設定されています。
機能ブランチはリポジトリ全体のブランチですが、すべてをテストするためにデプロイするのではなく、そのサブソリューションのコンテンツだけをデプロイしたいと考えています。また、ビルドする前にブランチをマージする必要もありませんdevelop
。機能ブランチ間で異なる可能性がある特定のプロジェクトのみをデプロイしたいことを TeamCity (またはリポジトリ) に示すにはどうすればよいですか?
注: これはこのSO の質問に似ていますが、用途やリリース要件が異なる複数の小規模プロジェクトに重点が置かれています。