2011-04-13 9 views
4

Je suis à la recherche d'une meilleure pratique pour la situation suivante:Comment utiliser des branches avec de multiples projets et Teamcity

J'ai un projet BLL/dal, et les projets de l'interface utilisateur d'arbres qui utilise le projet BLL/dal. Au début, nous avons tout mis dans un dossier de tronc sur un référentiel SVN. Nous utilisons des userbranches, de sorte que chaque branche d'utilisateur avait tout le code source.

Maintenant, nous avons commencé à utiliser TeamCity en tant que buildserver, et nous voulions que chaque projet ait sa propre version du produit. Nous avons donc divisé le tronc sur différents référentiels SVN (chaque projet sur un autre SVN), de sorte que chaque projet possède son propre numéro de révision dans sa version de produit.

Nous avons une intégration continue et un déploiement continu pour chaque projet sur teamcity. 4 projets donnent 8 configurations

Maintenant nous voulons aussi pour chaque utilisateur un CI de sa branche. Mais maintenant nous devons faire pour chaque projet un branchement d'utilisateur, ce qui fera 4 branches d'utilisateurs pour chaque utilisateur. Cela implique également que nous devons configurer 4 configuration de CI pour chaque utilisateur sur TeamCity ...

Maintenant je me demande si c'est une bonne approche, ou y a-t-il de meilleures solutions ...?

Merci d'avance.

Bruno

+0

D'abord vous devriez oublier "revisionnumber" vous devriez utiliser des balises à la place. En outre, vous devriez penser à une solution de dépendance, selon la langue que vous développez (Java => Maven, Gradle, Ivy) pour résoudre vos problèmes de dépendance. – khmarbaise

Répondre

2

Puisque vous êtes à la recherche des meilleures pratiques, je crois qu'il est jamais bon d'avoir des branches individuelles pour chaque utilisateur (développeur?) Et « CI » dans ce sens ne sont pas CI du tout - il est plus une construction personnelle que toute autre chose.

Pour les branches dans TeamCity, vous pouvez ajouter une configuration de construction spécifique à une branche dans le projet. Par exemple, s'il existe une configuration de construction "build", vous pouvez ajouter "build-release" pour la branche de publication, etc.

3

Peut-être que this new feature in 6.5 EAP peut vous aider (racines CVS paramétrées).

+1

Je peux confirmer que teamcity 6.5 fait ce qui est demandé (je l'utilise actuellement) –

Questions connexes