Question

Je suis nouveau dans TeamCity et nous avons un certain nombre de projets communs sous contrôle de source qui sont ensuite référencés directement dans les projets pertinents, à savoir:

.
Common
  branches
  tags
  trunk
    CommonProject
      CommonProject.csproj
    Common.sln
ProjectX
  branches
  tags
  trunk
    ProjectX.sln

Par conséquent, la référence à "CommonProject.csproj" dans " ProjectX.sln " \ Common \ trunk \ CommonProject \ CommonProject.csproj convient parfaitement à notre environnement de développement, mais s’agissant de TeamCity, il est impossible de dire qu'il ne trouve pas le chemin ".... \ Common \ trunk \ CommonProject \ CommonProject.csproj "

Quel est le meilleur moyen de contourner ce problème? J'ai essayé d'ajouter CommonProject à TeamCity comme dépendance, mais il ne semble toujours pas vouloir jouer au ballon ...

Merci

Tim

Était-ce utile?

La solution

Nous réglons ce problème en utilisant Externals dans Subversion, qui vous permet d'extraire des éléments d'un autre (bit du) référentiel.

Ensuite, lorsque nous élaborons les solutions, nous regroupons les projets communs dans les mêmes dossiers avec la solution spécifique au projet - c’est-à-dire que lorsque nous extrayons des éléments, nous avons:

Solution1
   +---Project1
   +---Project2
   +---Project3
   +---Common1
   +---Common2

Ensuite, séparément:

Solution2
   +---ProjectA
   +---ProjectB
   +---ProjectC
   +---Common1
   +---Common2

Etant donné que les fichiers externes et la structure de répertoires / dossiers sont configurés de cette manière, vous devriez, en théorie, pouvoir extraire (ou exporter) une "solution". dans un répertoire vide et qu’il soit compilé avec succès à partir de rien (sous réserve de l’installation de tous les outils nécessaires). Par conséquent, TeamCity (ou quel que soit votre serveur d’intégration continue) devrait également pouvoir être construit à partir de zéro. En fait, même avant de commencer à utiliser TeamCity, cette stratégie était définie, mais la valeur est plus claire une fois que vous commencez à effectuer une intégration continue.

Le morceau approprié du livre rouge Subversion est ici: Définitions externes

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top