resueltos - Ejecute el script de Shell después de la compilación posterior en Jenkins
scripts linux ejercicios resueltos (5)
Estoy tratando de ejecutar un script de shell si el build pass o falla después de la construcción en Jenkins. No puedo ver esta opción en la compilación posterior para ejecutar algunas secuencias de comandos de shell, excepto para ejecutar un objetivo.
Debería poder hacer eso con el complemento Tarea por lotes .
- Crea una tarea por lotes en el proyecto.
- Agregue una opción de post-compilación "Invocar tareas por lotes" seleccionando el mismo proyecto.
Una alternativa también puede ser el complemento de tarea de compilación posterior .
Muy fácil de hacer con el plugin Post build task .
Si estoy leyendo correctamente su pregunta, desea ejecutar un script en la parte posterior de la compilación.
Yo mismo uso el complemento PostBuildScript para ejecutar git clean -fxd
luego 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 espacio para guardar los archivos generados en el área de trabajo.
También puedes ejecutar comandos arbitrarios usando Groovy Post Build , y eso te dará mucho control sobre cuándo se ejecutarán, etc. Usamos eso para ejecutar un script de shell ''finger of blame'' 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 puede ejecutar los comandos que desee de manera similar)
Tendría que configurar el script de shell posterior a la creación como un trabajo separado de Jenkins y activarlo como un paso posterior a la construcción. Parece que tendrá que usar el Complemento disparador parametrizado, ya que la opción estándar "Crear otros proyectos" solo funciona si su compilación de activación es exitosa.