質問

私は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の適切な部分は次のとおりです。外部定義

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top