Modificare:
Non sto più usando questo approccio, per favore usa una delle altre risposte.
Aggiornamento: quello che ho finito per fare, per il nostro caso specifico: (le risposte sopra sono state fantastiche - grazie!)
Poiché il nostro server di build non è su Internet, abbiamo uno script per pubblicare lo stato di build nel ramo gh-pages in github.
- Inizio dei timbri di costruzione non riusciti
- Successo di timbri di fine costruzione
- Il progetto viene eseguito dopo il progetto principale per pubblicare i risultati -> stato build, documenti API, rapporti sui test e copertura dei test.
GitHub memorizza nella cache le immagini, quindi abbiamo creato il file .htaccess, che indica un breve timeout della cache per l'immagine di stato della build.
Inseriscilo nella directory con l'immagine di stato build:
ExpiresByType image/png "access plus 2 minutes"
Ecco lo script di compilazione. Il target che pubblica su gh-pages è '--publish.site.dry.run'
Con meno di 400 linee di configurazione, abbiamo:
- Compilare i controlli
- test di unità e integrazione
- Rapporti di prova
- Rapporti sulla copertura del codice
- Documenti API
- Pubblicazione su Github
. . e questo script può essere eseguito all'interno o all'esterno di Jenkins, in modo che:
- Gli sviluppatori possono eseguire questo script prima di eseguire il commit, riducendo la possibilità di una build interrotta che influisce sugli altri.
- Un errore è facile da riprodurre localmente.
I risultati:
La pagina principale del progetto ha lo stato della build, aggiornato dopo ogni build, insieme agli ultimi documenti API, ai risultati dei test e alla copertura dei test.