2016-05-09 203 views
1

rundeckジョブステップ間で変数を共有したいとします。Rundeckはジョブステップ間で変数を共有します

  1. 初期化されたジョブオプション "target_files"
  2. RD_OPTION_TARGET_FILES=some bash command
    echo $RD_OPTION_TARGET_FILES
    値が、ここで印刷されSTEP 1に変数を設定します。

  3. STEPから変数を読む2.
    echo $RD_OPTION_TARGET_FILES

ステップ3ステップで変数セットを認識しない環境を使用するよりも、他のrundeck上でこれを行うための良い方法を何1.
変数?

+0

どこコードですか?あなたはこれまでにどのように試してみましたか? – Jahid

+0

@Jahid、STEP 1はインラインbashスクリプトです。そして、ステップ2が別です。 –

+1

これらはどちらも独立したプロセスで実行される可能性が高いため、一方の環境は他方の環境にコピーされません。手順1でRD_OPTION_TARGET_FILES変数を環境変数に追加する必要があります。これは、rundeckについてはわかりませんが、これを実現する方法はかなり簡単です。純粋なbashでは、変数を環境にエクスポートするために 'export'を使います。 – Cwissy

答えて

2

Rundeck 2.9以降では、ジョブステップ間でデータを受け渡しできるように、データキャプチャプラグインがあります。です。

プラグインはデフォルトでRundeckアプリケーションに含まれています。ステップのログ出力の正規表現に一致して値を渡す

データ・キャプチャ・プラグイン後に

詳細(公開日:2017年8月3日)をData Capture/Data Passing between stepsを参照してくださいステップに

+0

素敵なプラグイン.. !! –

+0

これには2つの部分があります。 (1)ステップ間の変数/データ共有 - データプラグインはこの問題を解決します。 (2)フロー制御シナリオでは、実行シナリオ - ステップ内の命令の出力に基づいて、後続のスイッチをセット/リセットする(ステップ)。 rundeckには他のサポートされているハンドルがいくつかあると思いますが、これをもっと調べる必要があります。 –

2

ほとんどの場合、ジョブには方法はありません.1以外のインラインスクリプト、値をenvまたは2にエクスポートし、step1で3番目のファイルに値を書き込み、そこから読み込みます。

あなたは「スクリプトファイルまたはURL」メソッドを使用している場合は、あなたの周りの仕事としてSCRIPT1にしてSTEP2スクリプトを実行できるかもしれ..スクリプト2は、同じセッションで実行されます上記の場合と同様

Script1 
#!/bin/bash 
. ./script2 

script1として変数と値が保持されるようにします。

関連する問題