2016-08-09 54 views
6

Meine Frage ist ziemlich einfach: Mit einem Freestyle Jenkins Projekt unter "Advance Project Options" kann ich zwei Konfigurationsoptionen auswählen, die Konflikte zwischen verschiedenen Projekten verhindern (das kann zB entstehen, wenn ein Projekt eine Reihe von Header-Dateien aktualisiert, während ein anderes Projekt mit dieser ist):Wie kann ich einen Jenkins 2.x Pipeline Job blockieren, während abhängige Jobs aufgebaut werden

  • -Block bauen, wenn Upstream-Projekt wird
  • Block-Build-Aufbau, wenn Downstream-Projekt baut

Für ein Pipeline- oder Multibranch-Projekt sind diese Konfigurationsoptionen nicht verfügbar, und ich bin (bisher ohne Erfolg) auf der Suche nach einer Möglichkeit, den gleichen Effekt für ein Pipeline- oder Multibranch-Projekt zu erzielen.

+0

Ich bin anscheinend die einzige Person, die dies benötigt ... Meine Problemumgehung verwendet ein Freestyle-Projekt, das die gesamte Trigger- und Abhängigkeitslogik enthält, aber nur einen Build-Schritt, der das Pipeline-Projekt aufruft und das Ergebnis der Pipeline erstellt eigenes Ergebnis. Das Pipeline-Projekt hingegen führt den Build aus, hat jedoch keine Trigger oder Abhängigkeiten. – StuporMundi

+2

Hallo StuporMundi, ich habe auch dieses Problem und finde es unglaublich frustrierend, vor allem wenn es viele Projekte gibt. Ich werde eine Reparatur programmieren und bald eine PR einreichen. Ich werde hier posten, wenn Sie fertig sind – satoshi

+1

Offizielle Ticket: https://issues.jenkins-ci.org/browse/JENKINS-37718 – satoshi

Antwort

0

Sie können dies mit der Lockable Resource Plugin lösen.

Durch Erstellen einer freigegebenen Ressource, die von Upstream- und Downstream-Projekten verwendet wird. Lassen Sie die Pipeline warten, bis sie verfügbar ist.