web-dev-qa-db-fra.com

jenkins déclenche la construction si une nouvelle balise est publiée

Je souhaite configurer jenkins pour qu'il commence à générer si une nouvelle balise est publiée dans une branche d'un référentiel git. Comment configurer ce comportement?

Je suis très novice en jenkins, alors excusez-moi si cette question est fondamentale, mais je ne parviens pas à la découvrir moi-même 

git jenkins config

Déclenchement: build trigger

Merci pour toute aide

35
Kingalione

Qu'entendez-vous par nouvelle balise? At-il un nom de modèle?

Vous pouvez sûrement le définir dans Avancé -> Refspec -> refs/tags/{tagname}.

Vous pouvez même faire refs/tags/* pour trouver vraiment TOUTES les nouvelles balises.

enter image description here

14
Stan E

Définissez refspec sur: +refs/tags/*:refs/remotes/Origin/tags/*

spécificateur de branche: **

Sous build triggers, cochez Build quand un changement est poussé dans GitHub

22
albertski

Veuillez noter que l'approche dans la réponse fournie par stanjer ne permet pas au déclencheur de Jenkins de créer de nouvelles balises si elles pointent vers des commits construits auparavant. Par exemple, vous marquez la version 1.0.0 (pour que Jenkins déploie cette version), vous devez ensuite revenir à la version 1.0.0, balisant à nouveau sa validation, mais avec la version 1.0.0, Jenkins ne déploiera pas votre rollback parce qu'il va vérifier le hachage sur lequel pointe la balise, pas le hachage de la balise elle-même.

En résumé, jenkins ne construira de nouvelles balises que si elles pointent vers des commits qui ne sont pas déjà étiquetés, ce qui n’est actuellement pas modifiable.

Ce serait génial d'utiliser Jenkins comme un outil CD utilisant des balises pour les déploiements et les restaurations.

Plus d'infos ici https://groups.google.com/forum/#!msg/jenkinsci-users/mYxtDNMz1ZI/xbX9-xM9BQAJ

4
Samuel Henrique

Le précédent ne fonctionne pas pour moi. Dans mon cas, travaille refspec entre guillemets simples: 

Refspec: '+ refs/tags/*': 'refs/télécommandes/origine/tags /*'Spécificateur de branche: **/tags/**

MISE À JOUR: J'ai Jenkins 2.120. Pour que les tâches déclenchées par une balise soient exécutées, procédez comme suit:

1) créer un emploi avec:

Refspec: '+ refs/tags/*': 'refs/télécommandes/origine/tags /*'Spécificateur de branche: **/tags/**

2) Exécuter la construction

3) Reconfigurer le même travail en paramètres:

Refspec: '+ refs/tags/*': 'refs/télécommandes/Origin/tags /*'Spécificateur de branche: **

4) Exécuter la construction

5) Reconfigurer le même travail en paramètres:

Refspec: '+ refs/tags/*': 'refs/télécommandes/origine/tags /*'Spécificateur de branche: **/tags/**

6) Exécuter la construction 

Ce n’est qu’après cette étape magique que Jenkins déclenche automatiquement le marquage de la branche.

0
Sergey