2016-05-13 15 views

risposta

6

Poiché si utilizza la versione più recente di Jenkins, è consigliabile passare i lavori a multibranch pipeline setup.

La funzione del flusso di lavoro multiramo (fornita dal plugin workflow) fornisce le seguenti abilità fondamentali:

  • flusso di lavoro automatico (di lavoro) la creazione di Jenkins per nuova filiale in pronti contro termine (webhooks assumendo sono registrati da Da GH a Jenkins).

  • Build specifico per quel ramo figlio e il suo cambio scm univoco e cronologia build.

  • Eliminazione/eliminazione automatica del lavoro per rami eliminati dal repository, in base alle impostazioni.

  • Flessibilità di configurare individualmente le proprietà del ramo, sovrascrivendo le proprietà padre, se necessario.

EDIT: controllare le impostazioni dei 'disfarsi vecchi elementi' per voi pipeline. Se hai zero "Numero massimo di vecchi elementi" allora, se il tuo ramo ha meno build di questo numero, non verrà mai cancellato! Si può anche vedere che nei log:

Will not remove US12345 as it is only #1 in the list 
Will not remove US23456 as it is only #2 in the list 
Will not remove US34567 as it is only #3 in the list 

EDIT: Si può anche tentare la fortuna con l'aggiunta di un comportamento aggiuntivo denominato "Prune stantio remote-tracking rami" ("comportamenti" -> "Aggiungi" -> Seleziona dal menu a discesa).

+0

quindi mi considero un bug come ho sto usando la configurazione della pipeline multibranch - grazie – ligi

+2

Sto vedendo la stessa cosa ... i vecchi rami non vengono cancellati da Jenkins quando sono spariti dal repository. @ligi: hai inserito un bug? – kenyee

+0

@kenyee, controlla la mia modifica? – madhead

3

1) Vai a Manage Jenkins -> Global Tool Configuration -> Git -> Add Git -> Choose JGit.

2) Poi vai alla configurazione gasdotto multiramo e scegliere JGit invece Default sotto Branch Sources -> Git Executable

3) Premete Branch Indexing -> Run now

vecchi rami dovrebbero andare via ora