2011-08-23 15 views
24

Jenkins admite compilaciones parametrizadas.¿Puedo hacer que Jenkins cree una etiqueta git a partir de un parámetro pasado?

que tienen una acumulación de implementación que requiere la etiqueta de desplegar a ser especificado a través de un parámetro. (para desplegar una etiqueta particular en producción)

¿Hay alguna manera fácil de hacerlo con el plugin git?

Intenté agregar un parámetro TAG_NAME, y luego establecer branch_specifier en la sección del complemento git del trabajo en $ TAG_NAME. Dos veces no funciona. Obtengo:

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

¿Alguna idea?

Respuesta

21

Haga la compilación parametrizada y en el cuadro de URL de git, ponga el nombre de la variable que ha definido. Por ejemplo: $ {GIT_URL}. Esto debería hacerlo.

+0

genial, las llaves eran lo que me faltaba. Aclamaciones. – dalyons

+0

¡Heh! Me alegra oír que resolvió el problema! :) – carlspring

+2

Por curiosidad, ¿cómo se vería la variable $ {GIT_URL} si la etiqueta se especifica como parámetro? Soy nuevo en Jenkins + Git, lo siento por la pregunta tonta. – paxos1977

10

Will Lo más oooold, ya que éste se encuentra en la parte superior de Google. Pasé algún tiempo en esta pregunta ... Respuesta corta: Plugin extensible de elección + guión maravilloso. Esto permite hacer un menú desplegable que ya está lleno de etiquetas existentes.

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 

Respuesta larga here

+0

Eso no funciona para mí. Al igual que con el complemento de parámetros de Git, no creo que este complemento tenga en cuenta las credenciales de SSH. En cualquier caso, no recibo ningún elemento en la lista desplegable. –

+0

La línea que comienza con 'def gettags' no funciona para mí porque git no sabe nada de SSH y no puedo agregar un archivo' .ssh/config' al usuario de jenkins. Ver mi propia respuesta en http://stackoverflow.com/questions/28543482/jenkins-git-parameter-plugin-cannot-fetch-tags –

9

Hay Git Parameter Plugin, lo que le permite hacer exactamente eso:

Este plugin le permite asignar git tag o número de revisión como parámetro en parametrizada construye. No es necesario configurar nada especial, este complemento leerá su configuración predeterminada de Git Plugin.

+0

Estoy tratando de usar el complemento Git Parameter, pero para la v 0.3.2 no funciona para release (sha1 of repo) – kikicarbonell

+0

Estoy usando la versión 0.4.0 del complemento Git Parameter, pero no parece usar las credenciales SSH para el servidor git, por lo que se equivoca cuando intenta obtener todas las etiquetas git. Ver http://stackoverflow.com/questions/28543482/jenkins-git-parameter-plugin-cannot-fetch-tags –

+0

no pude conseguir que funcione en absoluto, así que utiliza el plugin extensible Choice y un script PHP, consulte mi propia respuesta en la pregunta vinculada. –

Cuestiones relacionadas