12
votes

Artefact TeamCity d'une nouvelle génération de succursale

J'ai récemment ré-configuré notre configuration de bande de TeamCity pour tirer parti des fonctionnalités de la branche pour appliquer la même configuration de construction à plusieurs branches du même référentiel.

Maintenant, j'essaie de configurer un script de construction automatisé pouvant tirer le dernier artefact de TeamCity, mais uniquement pour une branche spécifique. J'ai pu l'amener à fonctionner correctement sur la branche par défaut de la configuration d'origine, à l'aide de l'API de repos de TeamCity, mais vous ne pouvez pas comprendre comment formater l'URL pour tirer l'artefact pour une branche spécifique.

J'ai examiné les ressources suivantes, mais sans être disponible:

http://confluence.jetbrains.com/display/tw/rest+ API + Plugin http://confluence.jetbrains.com/display/tcd7/Patterns + Pour + Accès + Build + Artefacts

pensées?


2 commentaires

C'est étonnant de savoir comment un besoin simple comme celui-ci est si difficile à comprendre. Je cherche la même chose. Il y a un moyen de tirer par balise, alors j'ai essayé de baliser automatiquement mes constructions avec le nom de la branche, mais même cela est impossible. :( Boooo TeamCity


@Wamra Comment frustrant ... J'ai mis à jour ma réponse avec la solution qui a fonctionné pour nous, espérons que cela aide!


3 Réponses :


4
votes

Je viens de rencontrer ce article .

Je prévois de donner cela au cours des deux prochaines jours, et si cela fonctionne, je vais donner un bref résumé du résultat pour quelqu'un d'autre qui a des problèmes avec cela.

EDIT:

Désolé pour le retard, je viens de réaliser que je ne suis jamais revenu pour signaler comment nous avons résolu ce problème.

Nous avons fini par moderniser TeamCity (ce que nous aurions dû faire quand même, ce n'était donc pas une grosse affaire) et une fois que cela a été terminé, cela a fonctionné très bien sans beaucoup d'effort. Nous exécutons maintenant TeamCity V8.1.5, et voici le motif de l'URL que nous utilisons pour tirer nos artefacts:

http: // / httpauth / app / de repos / construction / buildtype: , branche: / artefacts / content /

Remarque: Nous utilisons l'API HttpAuth afin d'autoriser l'accès à nos artefacts de construction, nous avons également dû créer un nouvel utilisateur de TeamCity pour nos déploiements.


0 commentaires

0
votes

Vous pouvez construire l'URL comme suit:

http://<TeamCity-Server>/guestAuth/repository/download/<BUILD_TYPE_ID>/<BUILD_NUMBER>/<ARTIFACT_PATH>


4 commentaires

Y avait-il une raison pour laquelle cela a été voté? Nous utilisons cette construction dans une application que j'ai développée pour être utilisée pour le déploiement de bâtiments sur mon lieu de travail.


Probablement, parce que la Q impliquait une branche spécifique.


@ Hexum2600, peut-être aussi parce que l'URL que vous avez fournie est pour un numéro de construction spécifique, tandis que l'OP a demandé une construction "Dessence".


Vous pouvez utiliser .lastsuccèsful comme numéro de construction;)



2
votes

à partir de la page liée Ajout du paramètre QueryString Param a fonctionné pour moi: xxx pré>

sans que cela télécharge uniquement des artefacts à partir de la branche par défaut. P>

Notre URL complète: P >

http://<buildserver>/repository/downloadAll/<BuildId>/.lastFinished?branch=<branchname>


0 commentaires