Estoy tratando de ejecutar un script de shell si la compilación pasa o falla después de la compilación en Jenkins. No puedo ver esta opción en la compilación posterior para ejecutar algún script de shell, excepto para ejecutar un objetivo.
Respuestas:
Se hace muy fácilmente con el complemento de tareas de creación de publicaciones .
También puede ejecutar comandos arbitrarios utilizando Groovy Post Build , y eso le dará mucho control sobre cuándo se ejecutan, etc. Usamos eso para ejecutar un script de shell de 'dedo de la culpa' en el caso de compilaciones fallidas o inestables.
if (manager.build.result.isWorseThan(hudson.model.Result.SUCCESS)) {
item = hudson.model.Hudson.instance.getItem("PROJECTNAMEHERE")
lastStableBuild = item.getLastStableBuild()
lastStableDate = lastStableBuild.getTime()
formattedLastStableDate = lastStableDate.format("MM/dd/yyyy h:mm:ss a")
now = new Date()
formattedNow = now.format("MM/dd/yyyy h:mm:ss a")
command = ['/appframe/jenkins/appframework/fob.ksh', "${formattedLastStableDate}", "${formattedNow}"]
manager.listener.logger.println "FOB Command: ${command}"
manager.listener.logger.println command.execute().text
}
(Nuestro comando toma la última fecha de compilación estable y la hora actual como parámetros para que pueda investigar quién pudo haber roto la compilación, pero podría ejecutar los comandos que desee de manera similar)
Si estoy leyendo bien su pregunta, desea ejecutar un script en la parte de acciones posteriores a la compilación de la compilación.
Yo mismo uso el complemento PostBuildScript para ejecutarlo git clean -fxd
después de que la compilación haya archivado los artefactos y publicado los resultados de las pruebas. Mis esclavos Jenkins tienen discos SSD, por lo que no tengo la sala para mantener los archivos generados en el espacio de trabajo.
Debería poder hacerlo con el complemento Batch Task .
Una alternativa también puede ser el complemento de tareas de publicación .
Tendría que configurar el script de shell posterior a la compilación como un trabajo de Jenkins separado y activarlo como un paso posterior a la compilación. Parece que necesitará utilizar el complemento de activación parametrizado, ya que la opción estándar "Crear otros proyectos" solo funciona si la generación de activación es correcta.