問題タブ [jenkins-build-flow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jenkins - Jenkinsワークフローのビルド中にNotSerializableExceptionエラーを修正するには?
Jenkins ワークフロー (Jenkins 1.609.1、workflow 1.8) で次のコードを実行すると、「NotSerializableException」のエラーが発生します (以下も参照)。ただし、「ビルド ジョブ」を「for」スコープの外に移動すると、正常に動作します (ジョブがアクティブ化されます)。この動作の理由はありますか?
エラーが発生しました:
groovy - ビルドフローで Groovy を使用してテキスト ファイルを作成する方法 [Jenkins]?
私は を持ってBuilflow
いGroovy script
ます。新しいファイルを作成できないようです。コマンドは実行されますが、workspace
.
最初に WORKSPACE で作成するには、その場所を知る必要があります。
次に、ファイルを定義して作成します
jenkins - マルチジョブ プロジェクトでのビルド フロー ジョブの動作の問題
マルチジョブにビルド フロー ジョブを追加しました。ビルド フロー ジョブでいくつかの問題に直面しました。ビルドを行うたびに、常に2回実行されます。
以前にこの問題に直面して解決した人はいますか?
jenkins - 他の一連のジョブの完了時に Jenkins ジョブをトリガーするにはどうすればよいですか?
他の一連のジョブの完了に応じて 1 つのジョブしか持たない単純なケースは簡単です。マルチジョブを使用するか、ビルド フロー プラグインを使用しparallel { ... }
ます。私が解決しようとしているケースは、より一般的なものです。たとえば、次のようになります。
これらの各ジョブは、前提条件が完了したときにのみトリガーされるようにしたいと考えています。
ビルド フロー プラグインも、結合プラグインも、ジョブ DSL プラグインも、これに適したメカニズムを持っていないようです。もちろん、すべてのジョブを開始して Jenkins をポーリングさせることもできますが、それは非常に見苦しいものです。
もう 1 つの行き止まりは、「アップストリーム ジョブ トリガー」です。アップストリーム ジョブの実行だけでなく、ジョブの特定のビルドをトリガーしたいと考えています。
アップデート
1 つの回答では、マルチジョブ プラグインについて言及しています。実際にこの問題を解決するために使用できますが、スケジューリングと合計ビルド時間はほとんどの場合最悪のケースです。たとえば、次の依存関係グラフがあり、ビルド時間が次のようになっているとします。
マルチジョブ プラグインを使用すると、以下が得られます。
すべての前提条件が完了したときに次のジョブをトリガーする方法があれば、合計ビルド時間はわずか 57 分になります。
ここでの答えは、できれば独自のポーリングメカニズムを作成せずに、その動作を取得する方法を説明する必要があります。
update 1 1/2 以下のコメントでは、左側のタスクと右側のタスクを 1 つのサブタスクにグループ化することが提案されました。はい、これはこの例では実行できますが、これを一般的に自動的に実行するのは非常に困難です。たとえば、追加の依存関係があるとします。right2 は left1 に依存します。与えられたビルド時間では、right2 が起動される前に left1 が完了しているため、最適なビルド時間は変わらないはずですが、この知識がなければ、right1 がないリスクを冒さずに、left1 と left2 を同じグループにまとめることができなくなります。利用可能。
更新 2
ここには既成の答えがないようです。システムのグルーヴィーなスクリプトを自分でコーディングする必要があるようです。質問に対する私自身の回答を参照してください。
更新 3
最終的にマルチジョブ プラグインをフォークし、その中に新しいロジックを記述しました。いくつかのクリーンアップの後、新しいプラグインとして公開できることを願っています...