web-dev-qa-db-fra.com

Puis-je demander à Jenkins de construire une balise git à partir d'un paramètre passé?

Jenkins prend en charge les versions paramétrées.

J'ai une version de déploiement qui nécessite que la balise à déployer soit spécifiée via un paramètre. (pour déployer une balise particulière en production)

Existe-t-il un moyen simple de le faire avec le plugin git?

J'ai essayé d'ajouter un paramètre TAG_NAME, puis de définir branch_specifier dans la section du plugin git du travail sur $ TAG_NAME. Ne fonctionne pas. Je reçois:

ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.

Des idées?

27
dalyons

Rendez la construction paramétrée et dans la case URL git, mettez le nom de la variable que vous avez définie. Par exemple: $ {GIT_URL}. Cela devrait le faire.

23
carlspring

Il y a Git Parameter Plugin , qui vous permet de faire exactement cela:

Ce plugin vous permet d'attribuer une balise git ou un numéro de révision en tant que paramètre dans les versions paramétrées. Il n'est pas nécessaire de configurer quoi que ce soit de spécial, ce plugin lira votre configuration par défaut à partir du plugin Git.

10
Mihai Rotaru

Montera un oooold sujet, car celui-ci est dans le top de google. J'ai passé un peu de temps sur cette question ... Réponse courte: Plugin de choix extensible + script groovy. Cela permet de faire un menu déroulant déjà rempli de balises existantes.

def gettags = "git ls-remote -t [email protected]:mycompany/com.someproject.git".execute()
def tags = []
def t1 = []
gettags.text.eachLine {tags.add(it)}
for(i in tags)
    t1.add(i.split()[1].replaceAll('\\^\\{\\}', '').replaceAll('refs/tags/', ''))
t1 = t1.unique()
return t1

Réponse longue ici

10
link