2016-05-09 6 views
1

Ich möchte eine Variable über Run-Job-Schritte verteilen.RUNDECK-Freigabe von Variablen über Job-Schritte hinweg

  1. Initialized eine Joboption "target_files"
  2. Setzen Sie die Variable auf STEP 1.

    RD_OPTION_TARGET_FILES=some bash command
    echo $RD_OPTION_TARGET_FILES
    Der Wert wird hier gedruckt.

  3. Lesen Sie die Variable aus STEP 2.
    echo $RD_OPTION_TARGET_FILES

Schritt 3 den variablen Satz 1 nicht
in STEP erkennt Was auf Rundeck dies zu tun, anderen eine gute Möglichkeit ist, als Umgebung Variablen?

+0

wo ist dein Code? Wie hast du es bisher versucht? – Jahid

+0

@Jahid, SCHRITT 1 ist ein Inline-Bash-Skript. Und Schritt 2 ist ein anderer. –

+1

sie beide wahrscheinlich in separaten Prozessen ausgeführt werden, so wird die Umgebung von einem nicht in die Umgebung des anderen kopiert werden. Sie müssen die RD_OPTION_TARGET_FILES-Variable zu der Umgebung hinzufügen, sobald sie in Schritt 1 und vor dem Ausführen von Schritt 2 festgelegt wurde. Ich weiß Rundeck nicht, aber stellen Sie sich vor, es gibt einen ziemlich einfachen Weg, dies zu erreichen. In pure bash würden Sie 'export' verwenden, um die Variable in die Umgebung zu exportieren. – Cwissy

Antwort

2

Nach dem Rundeck 2.9 gibt es ein Data Capture-Plugin, um Daten zwischen Arbeitsschritten zu übertragen.

Das Plugin ist standardmäßig in der Anwendung "Rundeck" enthalten.

Datenerfassung Plugin einen regulären Ausdruck in einem Schritt der Protokollausgabe und übergeben die Werte übereinstimmen, um später die Schritte

Details siehe Data Capture/Data Passing between steps (Veröffentlicht: 03. Aug 2017)

+0

nettes Plugin .. !! –

+0

Es gibt 2 Teile dazu. (1) Variable/data sharing über Schritte - Daten Plugin löst dieses Problem. (2) In einem Flusssteuerungsszenario, basierend auf einem Laufszenario - Ausgabe eines Befehls innerhalb eines Schritts, Setzen/Zurücksetzen eines nachfolgenden Schalters (Schritt). Ich bin mir sicher, dass es auf dem Rundeck noch andere unterstützte Handles gibt, die ich genauer erkunden muss. –

2

Fast gibt es keine Möglichkeiten in Job-Inline-Skripten außer 1, den Wert in env oder 2 zu exportieren, den Wert in eine 3. Datei in Schritt1 schreiben und Schritt2 von dort lesen.

Wenn Sie „Scriptdatei oder URL“ Methode verwenden, können Sie rund um schritt2 Skript mit in script1 als Arbeit ausführen können .. wie

Script1 
#!/bin/bash 
. ./script2 

Im obigen Fall script2 in der gleichen Sitzung ausgeführt wird so script1, damit die Variablen und Werte erhalten bleiben.