2014-06-26 7 views
7

Ich fange an, Jenkins zu verwenden, die ein wirklich großartiges Werkzeug ist. Wir verwenden parametrisierten Build, wir definieren Parameter wie den Branchennamen $ {Branch} (z. B. dev, release, main usw.).übergeben Parameter von Jenkins parametrisierte Build zu Windows Batch-Befehl

In der Build-Konfiguration kann ich einen Windows-Batch-Befehl hinzufügen, gibt es eine Möglichkeit, diese Parameter an den Batch-Befehl übergeben?

Ich habe versucht, wie "% $ {Branch}%" oder "% Branch%" zu übergeben, aber scheint nicht zu funktionieren.

Kann jemand helfen?

Vielen Dank

+1

Was hat das mit TFS zu tun? –

Antwort

16

Mit Parameterized Erstellen, müssen Sie Parameter definieren. Der Wert dieser wird Ihnen angezeigt, wenn Sie auf den Link "Erstellen" klicken.

Der Name der Parameter sollte ein Klarname, vorzugsweise ohne Zwischenräume, wie Branch sein. Fügen Sie zur Definition des Parameternamens keine ${} oder %% hinzu.

Im Build Schritten, wie Windows-Batch-Befehl ausführen, können Sie die Parameter mit regelmäßiger Batch-Syntax verweisen können, wie %Branch%.

Wenn Sie auf einer * nix-Maschine seien, würden Sie ausführen Shell Build-Schritt verwenden und die Parameter mit regelmäßiger bash Syntax verweisen, wie ${Branch}

Beachten Sie, dass, auch wenn auf Windows, viel Jenkins laufen Plugins selbst nehmen die Parameter in * nix-Syntax, aber die Execute Windows Batch-Befehl wird Batch-like, dh %Branch%.

So können Sie mit der Eingabe versuchen:
echo %Branch%

Ich schlage vor, auch für sich allein nur set Befehl auf einer Linie setzen, und es wird Ihnen alle Umgebungsvariablen für Sie während des Erstellungsprozesses zeigen, was recht ist sinnvoll.

+0

vielen dank. Ich verstehe, wie es jetzt funktioniert – daxu

+0

@ UnderDog Sie können den Parameter überschreiben, aber der nächste Build-Schritt ("außerhalb von Windows Batch-Befehl") beginnt mit einer ** sauberen ** Umgebung von dem Job geerbt, daher sind Ihre Änderungen verloren. Dies ist beabsichtigt, um das Build-System sauber zu halten. Sie können ** [EnvInject plugin] (https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin) ** für alle Arten der Manipulation von Umgebungsvariablen verwenden, einschließlich der benötigten Informationen. – Slav

+0

Thnks .. Wirklich mir helfen. – LivCool

Verwandte Themen