Je veux fournir une balise git au serveur TeamCity pour le construire. Je passe la balise (c'est-à-dire release_1.1
) comme paramètre du travail. Ainsi, à l'intérieur du travail, la balise est disponible sous la forme %tag%
, mais sous le Version Control Settings
Je ne vois aucun moyen d'utiliser ce paramètre pour que le serveur puisse extraire cette balise. Existe-t-il un moyen d'utiliser ce paramètre dans les paramètres pour extraire la balise?
Pour toutes vos racines VCS pour cette configuration de build, cliquez sur Modifier, puis:
Ensuite, vous pourrez choisir un tag lorsque vous appuyez sur le bouton '...' à côté de run.
J'ai réussi à faire fonctionner les éléments suivants:
Dans la configuration de construction, sous "Paramètres de construction":
Définissez un paramètre de configuration:
TagToBuild
Configuration parameter
Tag to build
This should be the full path to the tag, i.e. refs/tags/0.5.5
Prompt
Text
Notez que le champ "valeur" a été intentionnellement laissé vide.
Ensuite, dans la racine VCS:
%TagToBuild%
Lorsque j'exécute la génération, je suis ensuite invité à fournir un nom de branche/tag:
Saisie d'une valeur telle que refs/tags/0.5.0
se traduit par une version sympa, avec le nom de la branche répertorié dans les résultats:
Si vous essayez d'aider l'utilisateur d'une manière au-delà de la description, cela semble échouer. Vous ne pouvez donc pas effectuer l'une des opérations suivantes:
refs/tags/
et demandez à l'utilisateur d'ajouter le nom de la balise.refs/tags/%TagToBuild%
.Dans les deux cas, sur notre instance légèrement ancienne (7.1) de Team City, j'ai eu l'erreur:
Échec de la collecte des modifications, erreur: l'argument 2 du paramètre @NotNull de jetbrains/buildServer/buildTriggers/vcs/VcsRootChangesLoader.loadChanges ne doit pas être nul
Je ne l'ai pas fait avec des balises, mais je l'ai fait avec des branches. Je dis à TeamCity de construire toutes les branches en spécifiant qu'il doit construire +:refs/heads/*
. Maintenant, chaque fois que je pousse une branche, TeamCity la construit. Ensuite, dans la version, j'utilise git branch
Et cherche la ligne qui commence par un *
. J'incorpore ce nom de branche dans un endroit pratique (AssemblyInfo.cs pour .NET, package.json pour le nœud.) Voir http://confluence.jetbrains.com/display/TCD8/Working+with+Feature+Branches
Vous devez spécifier le format de balise dans refs/tags/${tagName}
.
Donc, le vôtre serait refs/tags/release_1.1
.