Editar:
Ya no estoy usando este enfoque, use una de las otras respuestas.
Actualización: lo que terminé haciendo, para nuestro caso específico: (las respuestas anteriores fueron geniales, ¡gracias!)
Debido a que nuestro servidor de compilación no está en Internet, tenemos un script para publicar el estado de compilación en la rama gh-pages en github.
- Comienzo de los sellos de construcción que fallan
- Fin del éxito de los sellos de compilación
- El proyecto se ejecuta después del proyecto principal para publicar resultados -> estado de compilación, documentos API, informes de prueba y cobertura de prueba.
GitHub almacena en caché las imágenes, por lo que creamos el archivo .htaccess, que indica un breve tiempo de espera de caché para la imagen de estado de compilación.
Ponga esto en el directorio con la imagen de estado de compilación:
ExpiresByType image/png "access plus 2 minutes"
Aquí está el script de compilación. El objetivo que publica en gh-pages es '--publish.site.dry.run'
Con menos de 400 líneas de configuración, tenemos:
- Compilar cheques
- pruebas unitarias y de integración
- Informes de las pruebas
- Informes de cobertura de código
- Documentos de API
- Publicando en Github
. . y este script se puede ejecutar dentro o fuera de Jenkins, de modo que:
- Los desarrolladores pueden ejecutar este script antes de la confirmación, lo que reduce la posibilidad de una compilación rota que afecte a otros.
- Una falla es fácil de reproducir localmente.
Los resultados:
La página principal del proyecto tiene el estado de compilación, actualizado después de cada compilación, junto con los últimos documentos de API, resultados de prueba y cobertura de prueba.