Estoy tratando de ejecutar un script de shell si el build pass o falla después de la construcción posterior 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.Ejecutar el script de Shell después de la compilación en Jenkins
Respuesta
Muy fácil de hacer con el complemento Post build task.
Debería 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 necesitará usar el Parameterized Trigger Plugin ya que la opción estándar "Crear otros proyectos" solo funciona si la compilación de activación es exitosa.
cómo puedo activar la secuencia de comandos si la generación falla basa exclusivamente en cualquiera shell script ejecutable que tengo bajo mis tareas de trabajo? Gracias – kforkarim
Pensando en esto, podría ser más fácil de controlar en el script de compilación en sí. ¿Qué estructura de construcción estás usando? –
Usando script de shell para construir el marco de iOS – kforkarim
Si estoy leyendo correctamente su pregunta, desea ejecutar un script en la parte posterior de la compilación.
Yo uso PostBuildScript Plugin para ejecutar 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 espacio para guardar los archivos generados en el área de trabajo.
Debería poder hacer eso con el Batch Task plugin.
- crear una tarea de proceso 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 Post build task.
También puede ejecutar comandos arbitrarios usando el Groovy Post Build, y eso le dará mucho control sobre cuándo se ejecutarán y demás. 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 fabricación estable y la hora actual como parámetros para que pueda ir a investigar quién podría haber roto la construcción, pero se puede ejecutar cualquier comando te gusta de una manera similar)
- 1. Obtenga qmake para ejecutar el script de shell después de que termine la compilación en Mac
- 2. ¿Cómo ejecutar el comando de shell después de que la compilación finalizó desde .pro en QT?
- 3. ¿Cómo ejecutar el script de shell en cygwin?
- 4. ¿Cómo ejecutar 'cd' en el script de shell y permanecer allí después de que termine el script?
- 5. Emacs: Ejecutar código en modo shell-script
- 6. ¿Cómo ejecutar un script como root en Jenkins?
- 7. Detener la ejecución de compilación en Jenkins
- 8. "Eliminar compilación en Jenkins después de Keep Forever"
- 9. scons - ejecutar el programa después de la compilación
- 10. ¿Cómo ejecutar el script de shell desde LaTeX?
- 11. jenkins: historial de compilación mixta después de reiniciar
- 12. Crear un script de shell para ejecutar el programa Java
- 13. Shell script para ejecutar procesos múltiples
- 14. Jenkins/Hudson - Ejecutar script en todos los esclavos
- 15. ¿Cómo obtengo un archivo Mac ".command" para cerrar automáticamente después de ejecutar un script de shell?
- 16. Cómo ejecutar el script de shell en R y obtener el resultado en la tabla?
- 17. ¿Cómo ejecutar un script de shell desde C en Linux?
- 18. ¿Cómo actualizar una importación de script ejecutada en el shell de Python después de editarlo?
- 19. Ejecutar script de shell utilizando texto de script de fabric y de canal en stdin de shell
- 20. Cómo ejecutar un script de shell de Unix desde Windows
- 21. postbuild UIAutomation script no se ejecuta en jenkins
- 22. ¿Qué shell usa jenkins?
- 23. cómo manipular la matriz en el script de shell
- 24. Entrada desde el script de shell
- 25. ¿Cómo ejecutar un script de shell interactivo usando java Runtime?
- 26. utilizando o en el script de shell script de
- 27. ¿Puede un jenkins maestro ejecutar trabajos en jenkins remotos?
- 28. Script de shell: compruebe la sintaxis
- 29. ¿Cómo ejecutar un script de shell Unix desde código Java?
- 30. Cómo ejecutar un comando de shell desde un script php
Recomendaría el [complemento PostBuildScript] (https://wiki.jenkins-ci.org/display/JENKINS/PostBuildScript+Plugin) en su lugar para simplemente ejecutar un script. Es más simple y más robusto si no necesita condicionalizar el resultado del registro. Por ejemplo, permite ejecutar cualquier paso de compilación en las acciones posteriores a la construcción. – Sampo
También tenga en cuenta que el plugin Post Build Task pone toda la salida de la consola en la memoria para realizar la prueba condicional ... que puede ocupar mucha memoria si tiene cientos de trabajos produciendo una gran cantidad de salida ... Nuestro maestro jenkins simplemente colapsó debido a este complemento ... – grayaii
El complemento PostBuildScript ha sido suspendido. – Upen