Comment puis-je construire un git tag dans TeamCity?
Je veux fournir un git tag de la TeamCity serveur pour le construire.
Je passe la balise (c'est à dire release_1.1
) en tant que paramètre à l'emploi. Donc, à l'intérieur du travail, le tag est disponible que %tag%
, mais en vertu de la Version Control Settings
je ne vois pas un moyen d'utiliser ce paramètre pour que le serveur puisse checkout cette balise.
Est-il possible que ce paramètre peut être utilisé dans les paramètres de la caisse de la balise?
- Je vais avoir un problème similaire, - réglage de la Branche "Nom" à "refs/tags/%TagToBuild%", j'obtiens:
Failed to collect changes, error: Argument 2 for @NotNull parameter of jetbrains/buildServer/buildTriggers/vcs/VcsRootChangesLoader.loadChanges must not be null
Vous devez vous connecter pour publier un commentaire.
Pour tous vos VCS racines de cette configuration de build cliquez sur Modifier, puis:
Alors vous serez capable de choisir une étiquette lorsque vous appuyez sur le bouton " ... " à côté de l'exécuter.
teamcity.vcsTrigger.runBuildInNewEmptyBranch=true
dire TeamCity à construire sur tous les commits -- youtrack.jetbrains.com/issue/TW-43606J'ai réussi à obtenir le travail suivants:
Dans la Configuration de Build, en vertu de Construire "Paramètres":
Définir 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
Noter que le champ "valeur" a été intentionnellement laissée en blanc.
Puis, dans le VCS Racine:
%TagToBuild%
Quand je lance le build, je suis alors invité à fournir une branche/étiquette nom:
Entrer une valeur telle que
refs/tags/0.5.0
résultats dans une belle construction, avec le nom de la branche figurant dans les résultats:Si vous essayez d'aider l'utilisateur à en quelque sorte au-delà de la description, ce qui semble à l'échec. Donc vous ne pouvez pas effectuer les 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 légèrement vieux (7.1) de l'instance de l'Équipe de la Ville j'ai obtenu l'erreur:
teamcity.build.branch
, de cette façon, vous pouvez remplacer la direction générale et de définir ce que vous voulez, c'est à direrelease
refs/tags/%versionRoot%
, qui est un peu plus propre que d'avoir à taper le chemin d'accès complet à chaque foisJe n'ai pas fait cela avec des balises, mais je l'ai fait avec des branches. Je dis TeamCity à construire toutes les branches en spécifiant qu'il doit construire
+:refs/heads/*
. Maintenant, chaque fois que je pousse de toute branche, TeamCity construit. Puis à l'intérieur de la construction, je puis utilisergit branch
et recherchez la ligne qui commence avec une*
. Je l'incorporer nom de la branche dans un endroit pratique (AssemblyInfo.cs pour .NET, package.json pour le nœud.) voir http://confluence.jetbrains.com/display/TCD8/Working+avec+Fonction+BranchesReleasev2.7
par exemple -- et pousser la branche. TeamCity de "construire toutes les branches" ramasse et s'exécute avec elle.Vous devez spécifier le format de balise dans
refs/tags/${tagName}
.Donc la vôtre serait
refs/tags/release_1.1
.refs/tags/${tagName}
que la branche par Défaut, TeamCity commence à se plaindre qu'il ne peut pas se connecter à la repo git, n'est-il pas une solution plus propre? ce devrait être un très commun de cas d'utilisation.refs/tags/${%tag%}
résultats dans le message d'erreur: "Impossible de trouver la révision de la branche par défaut 'refs/tags/${0.5.0}'", mais la mise àrefs/tags/%tag%
résultats dans "a Omis de percevoir les changements, d'erreur: Argument 2 pour @NotNull paramètre"%full_tag%
au lieu derefs/tags/%tag%
et par défaut full_tag vide, TeamCity ne me plaindrai pas. Mais vous auriez besoin pour passer de la référence complète en tant que paramètre si (c'est à dire full_tag=refs/tags/development-12
).