2012-03-08 3 views
5

C'è un modo semplice in Jenkins per elencare tutte le build contrassegnate come keep-forever? E poi, idealmente, basta un clic per deselezionare la build come keep-forever o per eliminarla immediatamente?Elenca tutte le build keep-forever in Jenkins?

Nel nostro processo, contrassegniamo una build come keep-forever se coinvolge qualche tipo specifico di errore; questo per impedire a Jenkins di cancellarsi automaticamente nel tempo. Ho bisogno di un modo semplice per ottenere un elenco di tutte quelle build keep-forever in modo che non occupino tutto il nostro spazio disco nel tempo.

risposta

8

La seguente query XPath contro Jenkins elencherà gli URL di tutti build classificati come 'tenere per sempre':

http://[jenkins_server]/api/xml?depth=2&xpath=/hudson/job/build[keepLog="true"]/url&wrapper=forever 

inserirlo nel browser e vedere cosa restituisce.

Ora è possibile incorporarlo in HTML basato su XSLT per ottenere un elenco con collegamenti a tali build. Per eliminare la build è possibile fornire un tasto che richiama Jenkins CLI:

java -jar jenkins-cli.jar -s http://[jenkins_server]/ delete-builds [job-name] [build-num] 

Purtroppo, non so come disattivare 'mantenere accumulo per sempre' con CLI senza eliminarlo.

+1

Funziona alla grande - se il tuo Jenkins non è troppo grande. Sfortunatamente, la produzione di Jenkins ha diverse centinaia di lavori con un paio di migliaia di build. Lo stack Java ha esaurito lo spazio. Ma usando la stessa idea, potrei scrivere uno script che itera lavori e crea e fa la stessa cosa. Grazie per l'aiuto! –

3

che stavo cercando la stessa cosa, e le nostre Jenkins è abbastanza grande così e cercare il link:

http://[jenkins_server]/api/xml?depth=2&xpath=/hudson/job/build[keepLog="true"]/url&wrapper=forever 

ho finito per schiantarsi.

Ma, come risulta, ho solo bisogno dell'ultima build 'keep forever' di un lavoro alla volta, che sembra funzionare molto più velocemente. Quindi io uso il seguente invece:

http://[jenkisn_server]/job/[job_name]/api/xml/?depth=2&xpath=/freeStyleProject/build[keepLog="true"]/number&wrapper=forever 

che restituisce il XML con tutti i numeri di costruzione che sono contrassegnati come 'mantenere per sempre' È possibile modificare il XPath per soddisfare le vostre esigenze.

+2

Non sono sicuro di cosa ho fatto di sbagliato, questo è quello che avrei pensato utile. Il tuo commento non è molto utile neanche. – teapothat