質問
私はTeamCityを初めて使用しますが、ソース管理下にあるいくつかの一般的なプロジェクトがあり、それらは関連するプロジェクト内で直接参照されます:
Common
branches
tags
trunk
CommonProject
CommonProject.csproj
Common.sln
ProjectX
branches
tags
trunk
ProjectX.sln
結果として、" CommonProject.csproj"への参照。 " ProjectX.sln" .... \ Common \ trunk \ CommonProject \ CommonProject.csprojの行に沿ったものであり、開発環境内では問題ありませんが、TeamCityの場合はパス" ....が見つからないと言って転倒します。 \ Common \ trunk \ CommonProject \ CommonProject.csproj"
この問題を回避する最善の方法は何ですか? CommonProjectを依存関係としてTeamCityに追加しようとしましたが、それでもボールをプレーしたくないようです...
ありがとう
ティム
解決
SubversionのExternalsを使用してこれに対処します。これにより、異なる(ビットの)リポジトリからのものを取り込むことができます。
次に、ソリューションを構築するときに、これらの共通プロジェクトをプロジェクト固有のソリューションと同じフォルダーにグループ化します。つまり、次のものを確認します:
Solution1
+---Project1
+---Project2
+---Project3
+---Common1
+---Common2
その後、個別に:
Solution2
+---ProjectA
+---ProjectB
+---ProjectC
+---Common1
+---Common2
このように外部構造とディレクトリ/フォルダ構造が設定されているため、理論的には、「ソリューション」をチェックアウト(またはエクスポート)できるはずです。空のディレクトリに作成し、最初から正常にビルドします(必要なすべてのツールがインストールされることを前提とします)。したがって、TeamCity(または継続的インテグレーションサーバーが何であれ)も最初からビルドできます。実際、TeamCityを使用して凝視する前でも、これをポリシーとして使用していましたが、継続的な統合を開始すると値はより明確になります。
Subversion Red Bookの適切な部分は次のとおりです。外部定義