2017-12-15 2 views
0

Danke für die Untersuchung meiner Bedenken.Wie man jenkins Job nur einmal, aber mit zwei Bedingungen ausführen

Ich habe 3 jenkins jobs. JOb A, B & C.

  1. Job A beginnt um 10 Uhr nachts.
  2. JOB B ist ein Downstream von Job A und wird nur ausgeführt, wenn Job A erfolgreich ist.
  3. Job C ist ein nachgeschalteter Job der Job B

Jetzt habe ich Job C wollen nach dem erfolgreichen Abschluss des Auftrags B oder zu einem bestimmten Zeitpunkt ausgelöst werden. Problem ist, wenn ich Job C als downstream sowie mit einem Zeitplan einplane. Es läuft zweimal. Aber es sollte nur einmal laufen.

Bitte helfen Sie mir, dies zu erreichen.

+0

Bitte zeigen Sie einen Code, der zeigt, was Sie versucht haben. – mkobit

+0

Dies steht in keinem Zusammenhang mit irgendeinem Code. Es ist Plugin-basiert und ich bin auf der Suche nach Ideen, um dies zu erreichen. –

Antwort

0

Haben Sie "Conditional BuildStep" Plug-in versucht? Sie können einen nachgelagerten Job (oder ein Skript), basierend auf „Build Ursache“

enter image description here

ausführen Sie können für jede Build Ursache mehr als 1 „single“ Bedingungen hinzufügen.

Nun müssen Sie entscheiden, wann eine Arbeit, als Zeitgeber oder als nachgeschalteter

+0

In beiden Fällen läuft mein Downstream-Job zweimal, was ich nicht möchte. 1. Wenn der Upstream-Job erfolgreich ist, wird mein Downstream-Job ausgeführt und aufgrund des Timers wird er erneut ausgeführt. Es sollte eine OR-Bedingung geben. –

0

laufen können Sie jenkins pipeline plugin verwenden. Sie können einen Pipeline-Job mit Stufen erstellen. Eine Pipeline wird nur dann zur nächsten Stufe weitergehen, wenn die vorherige Stufe erfolgreich ist. Weitere Informationen finden Sie in der Dokumentation unter pipeline.

Die Pipeline verfügt über viele Flexibilitäten, in denen Sie den Durchfluss definieren können. Sie können entweder eine deklarative Pipeline oder eine Skriptpipeline verwenden. Eine gute Anzahl von Beispielen finden Sie in here

Verwandte Themen