2

特定の Git ブランチへのプッシュがあるたびに実行されるプロセスを実装するために、マルチジョブ プロジェクトを使用しています。

2 つの異なるジョブ間でパラメーターを渡すにはどうすればよいですか (各ジョブは個別のマルチジョブ フェーズにあります)。

私がやろうとしたことは次のとおりです。

ジョブ A: (マスターで実行 - Windows)

2つのパラメーターを新しいファイル(parameters.propertiesと呼ばれる)にエコーし、共有場所(ジョブAのワークスペースではありません)に配置しました

したがって、このファイルの内容は次のようになります。

currentBuild=2012-11-27_09-20-50 
currentBranch=master

ジョブ B: (Linux スレーブで実行)

「このビルドはパラメータ化されています」のオプションがオンになっています。

ファイルが配置されている共有の場所にカスタム ワークスペースも設定したため、「ファイル パラメータ」とファイル名のみを追加しました。

このパラメーターを使用しようとするシェルスクリプトがありますが、取得できません。

手伝ってください、

ドロン

4

1 に答える 1

4

ソリューション:

  1. MultiJob メイン プロジェクト:

    • 「このビルドはパラメータ化されています」を設定します

      2 つのテキスト パラメータを追加します (Job Build は変更された Jenkins 変数 Build_Id に基づいているため、名前が異なり、後で currentBuild を新しい値ではなく定数値に設定したい)

      • ジョブビルド

      • ジョブブランチ

  2. 各マルチジョブ フェーズの各ジョブで:

    • 定義済みパラメーターを追加します。

      • currentBuild=${ジョブビルド}

      • currentBranch=${ジョブブランチ}

    「現在のジョブパラメーター」のチェックを外します

    Exposed SCM のチェックを外します」

于 2012-12-12T08:21:29.530 に答える