13

次のワークフローをジェンキンスで並行して実行しようとしています。たとえば、A と B の両方が同時に実行されます。A が終了するとすぐに、A2 と A3 を同時に実行します。

これはかなり一般的な使用例のようですが、私が試したほとんどのプラグインは、1 レベル以上の深さをサポートしていません。これは、以下の A ブランチの場合です。Join プラグインはここでは役に立たないようです。

プロモーションプラグインの使用について読みましたが、これを機能させるために何をフィンガープリント/アーティファクトをアーカイブするかについて少し戸惑っています。

この単純なビルド パイプラインを機能させる方法の手がかりはありますか?

フロー

4

6 に答える 6

7

jgritty指摘したように、ビルド フロー プラグインを使用できます。必要な種類の並列実行を取得するには、次のビルド フロー スクリプトと同等のものを実行できます。

buildTrigger = build("Trigger")

parallel(
    {
        buildA = build("A")
        buildA1 = build("A1")
        parallel(
            {
                buildA2 = build("A2")
            },
            {
                buildA3 = build("A3")
            },
        )
    },
    {
        buildB = build("B")
        buildB1 = build("B1")
    },
)

buildResults = build("GatherResult")

このスクリプトでは、最初のparallelブロックが A 分岐と B 分岐を処理します。parallelブランチに入ると、さらにブロックを追加するまで、各ビルドは順次実行されます。

于 2013-02-18T23:20:47.913 に答える
1

これはあなたが必要とするプラグインかもしれないと私は信じています。

于 2012-11-13T18:24:15.610 に答える
1

私は同様の問題を抱えていました.Promoted Builds Pluginは、他の人がアドバイスしたBuild Flow Pluginよりも優れたソリューションでした.

[Promote builds when...] チェックボックスをオンにすると、既存のジョブにビルド プロモーション ジョブを追加できます。基準の下の「次のダウンストリーム プロジェクトが正常にビルドされたとき」をオンにすることで、指定されたダウンストリーム プロジェクトが完了したときにプロモーションが発生するように構成できます (すべてのダウンストリーム プロジェクトがフィンガープリントによって関連付けられていると仮定します)。

昇格ステップでは、要約結果の電子メールをトリガーしたり、さらに下流のジョブをトリガーしたりできます。

この場合、プロモーション ジョブをトリガー プロジェクトに追加し、プロジェクト A2 A3 および B1 が正常に完了することに依存できます。

于 2013-06-18T10:44:27.253 に答える
0

ビルド後のセクションで[他のプロジェクトをビルド]を使用します。A1の完了時にA2、A3を開始すると言います。「ハドソンの管理」->「システムを適切な数に構成」でエグゼキューターの数を増やします。

于 2012-12-03T11:15:18.673 に答える