15

私は2つのパラメータを持つJenkinsで仕事をしています。パラメータのない別のプランを実行し、そのプランから必要な回数だけ既存のプランを起動したいと考えています。

新しい計画は、15 分ごとに実行するようにスケジュールする必要があります (Jenkins のスケジューラ オプションによって実行されます)。その計画のコードは次のようになります。

  • データベースに接続する
  • 必要なレコードセットを取得する
  • レコードセットのループを開始します
    • キーと値のペアを保存します (既存のジョブのパラメーター)
  • ループを終了する

これが完了したら、保存された各キーと値のペアで既存のジョブを実行する必要があります。Jenkins (1.406 を使用) を使用してそのまま使用できますか、それとも既存のジョブをリモートで呼び出す必要がありますか? 「ビルド後のアクション」セクション (プランの構成) で「他のプロジェクトをビルドする」オプションを使用するときに、あるプランから別のプランにパラメーターを渡す方法がわかりません。

ありがとう

4

1 に答える 1

18

パラメーター化されたトリガー プラグインがあり、一度インストールすると、1 つのビルドが完了した後にパラメーター化されたビルドをトリガーできます。

目的を達成する最も簡単な方法は、このプラグインをインストールし、ビルド対象のキー/値リストを使用してプロジェクトを 1 回ビルドすることです。何らかの理由で、最初のジョブの完了後にビルドを複数回実行する必要がある場合は、リモート API を使用して最初のプロジェクトからビルドを開始できます。したがって、次の 2 つのオプションがあります。

オプションA

  • Project1 が実行され、キーと値のペアを含むファイルが作成されます
  • Project1 が完了し、Project2 をパラメーター付きで実行するように構成されている (Parameterized Trigger Plugin を使用)
  • Project2 は、キーと値のペアをループして、それぞれに対して必要なことを行います。

オプション B

  • Project1 が実行されます。キーと値のペアごとに、次の URL にヒットしhttp://server/job/<Project2 Name>/buildWithParameters?PARAM1=Value1&PARAM2=Value2ます (実際のプロジェクト名とパラメーター名/値に置き換える必要があります)。
  • Project2 はこれらのパラメーターを受け取り、必要に応じてパラメーター値を使用して、通常どおりビルドします。
于 2011-07-25T20:58:45.533 に答える