0

Ich habe drei Jobs, die einige Werte Pass von einem Job zum anderen

build 'job1' 
build 'job2' 
build 'job3' 

job2 wie unten

in einem Pipeline-Job gebaut werden kann 2 Parameter übernehmen. Was sollte von job1 kommen. Lassen Sie Job1 erstellt einen Ordner an einem bestimmten Speicherort (z. B. C: \ Tests). Ich muss den Namen des Ordners übergeben, der erstellt wird job1 zu job2. Wie kann ich das machen ?

Ich brauche die gleichen Parameter an Job3 auch weitergegeben werden.

Was kann ich in job1 und in der Pipeline tun, um diese Parameter zu senden und zu empfangen?

Ich will nicht den job1 bearbeiten Post Build-Optionen haben job2 mit Parametern zu bauen.

Antwort

2

Von job1:

env.SOMETHING = someValue 

Definieren Sie die Parameter in job2. Im Master-Job

def b1 = build 'job1' 
def something = b1.buildVariables.SOMETHING 
build job: 'job2', parameters: … 
+0

Danke @Jesse Glick –

+0

Wenn ich "Package" stage; def PaketJob = Build Job: 'Paket'; Bühne 'Live'; build job: 'Live', Parameter: [[$ class: 'StringParameterValue', Name: 'LIVE_VERSION', value: value: packageJob.buildVariables.VERSION]]] dann schlägt es fehl, da NULL übergeben wurde - VERSION in Paketauftrag ist ausgefüllt mit environmentVariables Plugin und es existiert auf "Umgebungsvariablen" HTML-Seite für Job. Wie kann ich auf VERSION im Pipelineskript zugreifen? – kodstark

+0

Ich habe festgestellt, dass packageJob.rawBuild.environment.VERSION funktioniert, aber es erfordert Whitelisting zwei oben getters. Es sieht so aus, dass buildVariables nur meinen build-Parameter enthält - wird es mehr Variablen enthalten, einschließlich des Plugins von environmentVariables? – kodstark

0

Da Sie Pipeline verwenden, würde ich den Verzeichnisnamen in der Pipeline definieren und diesen in alle drei build Schritte als Parameter übergeben.

+0

Ich weiß nicht den Verzeichnisnamen, bis ich den ** Job1 ** ausführen. Also wie kann ich es über Pipeline-Parameter übergeben? –

0

Ich weiß nicht, den Namen des Verzeichnisses, bis ich den job1

laufen und da Sie keine Post wollen Aktionen bauen.

Könnten Sie:

  1. Run job1 und speichern das resultierende Verzeichnis in einer Textdatei
  2. In job2 und job3 lesen Sie das Verzeichnis, das Sie aus dieser Datei benötigen.
Verwandte Themen