2016-07-22 5 views
0

Notre équipe de développement est à ce stade où CI va soulager nos douleurs. Donc, pour les deux derniers jours, je cherche des solutions de CI, et essentiellement descendis 2 options:Comprendre les configurations de TeamCity Build

  1. TeamCity
  2. Jenkins

Je l'ai fait une lecture sérieuse, et a comparé les deux , et je me penche vers TeamCity. Ceci n'est pas une question de comparaison

Notre équipe a plusieurs solutions, chaque solution étant composée de plusieurs projets. Notre processus actuel est la vanille ....

  1. doit publier
  2. Clic droit Créer

Prenez la libération et la copie DEV/QA/PROD. La seule chose qui me perturbe un peu est la configuration de BuildCity TeamCity. Avec les versions gratuites, vous obtenez 20 configurations de construction. Je n'ai pas installé non plus alors je ne suis pas sûr de savoir comment les configurations de construction fonctionnent.

Une configuration de construction peut-elle être partagée par plusieurs projets ou faut-il avoir une configuration de construction pour chaque projet?

Ce sera finalement le briseur d'affaire, car nous avons près de 40 solutions, avec au moins 3 projets par solution.

Si les configurations de construction sont directement liées à des projets, cela signifie que nous avons besoin d'au moins 120 configurations de construction. Ce ne sera pas facile à vendre à la direction. Est-ce que quelqu'un peut me donner un peu plus d'informations sur le fonctionnement des configurations de construction de TeamCity?

Répondre

0

Normalement, vous auriez une configuration de construction par solution, puisque dans la configuration de construction vous définissez construire des marches, dont une est MSBuild ou Visual Studio etc

Nous utilisons faux pour notre génération, mais « Créer et en utilisant le test Fake 'est une configuration de build, puis sur la page principale TeamCity, vous verrez le statut comme ceci: enter image description here

+0

Donc, en réalité, je peux seulement construire 20 de mes 40 solutions en utilisant la version gratuite de TeamCity? –

+0

vous pouvez écrire un script msbuild qui a construit tous vos slns dans une config de construction, mais 1 à 1 est un bon motif. Can! = Devrait –

+0

Oui, comme dit @JamesWoolfenden, vous pouvez tout construire en un seul, mais comme vous pouvez le voir sur la capture d'écran que j'ai posté, il est utile d'avoir la granularité pour voir le statut de construction par solution. Alors oui, vous ne serez capable de construire 20 de vos solutions avec la version gratuite. – gezzahead

0

Les configurations de construction n'ont pas de relation 1-1 avec les projets, nous avons plus de 100 projets dans une solution et seulement 3 configurations de construction pour elle, Tests, Nightly et Release.

Une configuration de construction peut contenir plusieurs étapes de construction.
Chacune de ces étapes de construction peut exécuter une action qui pourrait exécuter msbuild, un script, des tests unitaires, un déploiement octopus, etc.
Vous pouvez avoir plusieurs étapes de construction dans une configuration en construisant différents ensembles de projets dans la solution si vous avez différentes cibles configurées dans la solution ou un projet de construction.

Vous pourriez, si vous le vouliez vraiment pour une raison masochiste, avoir une seule configuration de construction en construisant toutes vos 40 solutions.
Mais la facilité ou la difficulté de cela peut dépendre de la façon dont vous avez contrôlé la version. TeamCity a un concept appelé VCS Roots (système de contrôle de version).
Si vous souhaitez créer plusieurs solutions dans une seule configuration de construction, vous devrez configurer multiple VCS roots for the Configuration si elles sont dans des mises séparées, ou vous pouvez configurer des scripts qui récupèrent vos repos.
Si des solutions connexes qui pourraient devoir être construites ensemble sont dans le même référentiel, alors vous pourriez vous en sortir avec une racine VCS.

+0

'Mais la facilité ou la difficulté de cela peut dépendre de la façon dont vous avez contrôlé la version. Nous passons à GIT de SVN en même temps. cela vous dérangerait-il d'expliquer comment le contrôle de version aurait un impact sur la configuration? hahaha ... a dû aller google «masochiste» d'abord, je crois que nous souffrons tous de cette condition ..... –

+0

J'ai ajouté un peu plus à ce sujet au bas de la réponse. – Nanhydrin