2016-09-20 11 views
0

Ich habe eine Anforderung an Serverspec Test ein Cloudformation-Stack, der von einem Jenkins-Job namens "Create_Stack" erstellt wird.Feed-Daten von parametrisierten Trigger-Schritt in Ausführen Shell-Schritt

Ein zweiter Jenkins-Job ruft den bestehenden Create_Stack-Job über Parameterized Trigger auf und führt anschließend in einem nachfolgenden Schritt Ausführen die Serverspec-Testsuite aus.

Um dies zu tun, muss der Schritt "Shell ausführen" jedoch den Namen des Wolkenbildungsstapels kennen.

Momentan ist der Stapelname als Umgebungsvariable im Create_Stack-Job vorhanden. Er ist auch in der archivierten Artefaktdatei enthalten, die die zurückgegebene Ausgabe des Befehls aws cloudformation create-stack enthält.

Ich habe in der Artefaktdatei in $WORKSPACE/../../Create_Stack/workspace/my-stack-output.json Nachschlagen Stack Name in Betracht gezogen. Dies ist nicht ideal, da es umständlich ist und auch anfällig für eine Wettlaufsituation, wenn jemand diesen Job sofort erneut ausführen würde, während mein Test läuft.

Gibt es eine saubere Möglichkeit, den Stack-Namen für nachfolgende Schritte zum Ausführen von Shell-Build verfügbar zu machen?

+0

Dies ist nicht wirklich eine Serverspezifikation. –

+0

Danke, OK, aktualisiert. –

+0

Welche Version von Jenkins hast du? Denn wenn Sie das neueste Jenkins (2.x) verwenden, könnten Sie davon betroffen sein: https://wiki.jenkins-ci.org/display/SECURITY/Jenkins+Security+Advisory+2016-05-11 – Fadi

Antwort

0

Irgendwann habe ich herausgefunden, dass EnvInject Plugin verwendet werden kann, um dieses Problem zu lösen.

Verwandte Themen