online delivery jenkins jenkins-plugins

delivery - ¿Cómo personalizar el nombre de compilación de Jenkins?



jenkins online (7)

Cuando ejecuto un trabajo en Jenkins, a cada construcción se le asigna un nombre que se muestra en la interfaz de usuario en el historial de compilación, que básicamente es la fecha y hora actual.

Me gustaría poder poner parámetros de construcción allí para que pueda ver en el historial de construcción qué ramas se han construido y cuándo.

He buscado complementos para hacer esto, pero no he podido encontrar ninguno. ¿Hay alguno?


Advertencia: esto solo funciona en ambientes * nix. Para pasos de shell individuales, puede ejecutar <command> en su lugar como:

/usr/bin/env JOB_NAME="Old JOB_NAME: ${JOB_NAME}" <command>

Suponiendo que su proyecto se llame "myproject", <command> vería la variable de entorno JOB_NAME como "Old JOB_NAME: myproject"


Configuración abierta para un trabajo -> Haga clic en ''Opciones de proyecto avanzadas'' -> Ingrese el nombre deseado en el cuadro de texto ''Nombre para mostrar''


Este plugin " Build name setter plugin " puede ayudarte. Como fuente de nombre de compilación, puede usar un archivo de texto en un disco o una variable de entorno; también puede combinar el complemento con un complemento como EnvInject.


Para modificar la visualización predeterminada Nombre use currentBuild.displayName = "#${BUILD_NUMBER}, branch ${BRANCH}"



También es posible configurar el nombre de la compilación "manualmente", utilizando el complemento Jenkins Groovy . Solo sigue estos pasos:

  1. Genera un nuevo nombre de compilación. Si va a realizarlo en el paso de trabajo por separado, puede necesitar guardarlo en el archivo de propiedades, por ejemplo, con el nombre "newVersion" y realizar un paso "Inyectar variables de entorno" con el plugin EnvInject de Jenkins .
  2. Siguiente paso: ejecuta un script de System Groovy:

    def build = Thread.currentThread().executable assert build def newBuildName = build.getEnvironment().get(''newVersion'') try { if (newBuildName) build.displayName = newBuildName println "Build display name is set to ${newBuildName}" } catch (MissingPropertyException e) {}

Como puede ver, estamos usando una variable build.displayName aquí. Su valor es un nombre de compilación visible en Jenkins.


[respondiendo al comentario anterior de Patrice M., simplemente no tengo la reputación suficiente para comentar]:

El complemento Build Name Setter puede expresar una variedad de variables, incluidas variables de entorno, cuando se utiliza junto con el complemento Token Macro . Además, los parámetros de compilación también están disponibles como variables de entorno; así que, por ejemplo, si su compilación tiene un parámetro "MYPARAM", entonces simplemente puede usarlo (suponiendo que haya instalado el complemento Token Macro) en el nombre de compilación de esta manera:

Built with parameter MYPARAM: ${ENV, var="MYPARAM"}