Ho due progetti Jenkins che condividono un database. Non devono essere eseguiti contemporaneamente. A rigor di termini, non esiste una particolare dipendenza tra loro oltre la concorrenza, ma al momento gestisco parzialmente questo vincolo eseguendo un "downstream" dell'altro. Questo funziona la maggior parte del tempo, ma non sempre. Se si verifica un cambio di controllo sorgente mentre il secondo è in esecuzione, il primo verrà riavviato e verranno eseguiti contemporaneamente e probabilmente entrambi falliranno miseramente.Come posso impedire l'esecuzione simultanea di due progetti/build di Jenkins?
Questo è simile, ma non identico, a How to prevent certain Jenkins jobs from running simultaneously? La differenza è che non ho un problema "numero di thread" - sto già solo eseguendo al massimo un thread di un determinato progetto in qualsiasi momento , anche nel caso in cui due build (di diverso progetto) si calpestano a vicenda. Questo sembra escludere tutti i numerosi suggerimenti in quella discussione.
Le serrature e chiavistelli plug menzionato nella risposta alla domanda che hai citato dovrebbe funzionare anche qui. –
Locks & Latches funziona per il mio caso, ma è in [la lista "potenziale deprecazione"] (https://wiki.jenkins-ci.org/display/JENKINS/Proposed+Plugin+Deprecation). Se viene deprecato, sembra che il più recente [Exclusion-Plugin] (https://wiki.jenkins-ci.org/display/JENKINS/Exclusion-Plugin) farà il lavoro per me (e [Throttle Concurrent builds] (https://wiki.jenkins-ci.org/display/JENKINS/Throttle+Concurrent+Builds+Plugin) per l'altro, contato, caso). – jackr