問題タブ [jenkins-job-dsl]
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.
groovy - Jenksin Job DSLスクリプト内でシードジョブの名前を取得するにはどうすればよいですか?
Jenkins Job DSL pluginProcess Job DSLs
によって提供されるビルドステップを含む Freestyle プロジェクト/ジョブを使用しています。つまり、「シード」ジョブです。が提供するコード内から、シード ジョブの名前を取得するにはどうすればよいですか?Use the provided DSL script
この質問への回答を適用しようとしましたが、どれもうまくいきませんでした。
git - Jenkins と Github での DSL ジョブ
実行と同じように、Github で特定のリポジトリのフォークをフェッチしようとしています。
curl -k -X GET https://api.github.com/repos/rackt/redux/forks
しかし、Jenkins の DSL スクリプトでは。
なんで?すべての人のフォークを複製し、job-dsl-pluginによって生成された個別のジョブでプロジェクトをビルドしたいためです。
もちろん、これは私が見つけたレポの単なる例です。プライベート リポジトリを使用して SSH 資格情報を使用して実行しようとしています。
それを行うための最良の方法はどれか知っていますか?
jenkins - 他の一連のジョブの完了時に Jenkins ジョブをトリガーするにはどうすればよいですか?
他の一連のジョブの完了に応じて 1 つのジョブしか持たない単純なケースは簡単です。マルチジョブを使用するか、ビルド フロー プラグインを使用しparallel { ... }
ます。私が解決しようとしているケースは、より一般的なものです。たとえば、次のようになります。
これらの各ジョブは、前提条件が完了したときにのみトリガーされるようにしたいと考えています。
ビルド フロー プラグインも、結合プラグインも、ジョブ DSL プラグインも、これに適したメカニズムを持っていないようです。もちろん、すべてのジョブを開始して Jenkins をポーリングさせることもできますが、それは非常に見苦しいものです。
もう 1 つの行き止まりは、「アップストリーム ジョブ トリガー」です。アップストリーム ジョブの実行だけでなく、ジョブの特定のビルドをトリガーしたいと考えています。
アップデート
1 つの回答では、マルチジョブ プラグインについて言及しています。実際にこの問題を解決するために使用できますが、スケジューリングと合計ビルド時間はほとんどの場合最悪のケースです。たとえば、次の依存関係グラフがあり、ビルド時間が次のようになっているとします。
マルチジョブ プラグインを使用すると、以下が得られます。
すべての前提条件が完了したときに次のジョブをトリガーする方法があれば、合計ビルド時間はわずか 57 分になります。
ここでの答えは、できれば独自のポーリングメカニズムを作成せずに、その動作を取得する方法を説明する必要があります。
update 1 1/2 以下のコメントでは、左側のタスクと右側のタスクを 1 つのサブタスクにグループ化することが提案されました。はい、これはこの例では実行できますが、これを一般的に自動的に実行するのは非常に困難です。たとえば、追加の依存関係があるとします。right2 は left1 に依存します。与えられたビルド時間では、right2 が起動される前に left1 が完了しているため、最適なビルド時間は変わらないはずですが、この知識がなければ、right1 がないリスクを冒さずに、left1 と left2 を同じグループにまとめることができなくなります。利用可能。
更新 2
ここには既成の答えがないようです。システムのグルーヴィーなスクリプトを自分でコーディングする必要があるようです。質問に対する私自身の回答を参照してください。
更新 3
最終的にマルチジョブ プラグインをフォークし、その中に新しいロジックを記述しました。いくつかのクリーンアップの後、新しいプラグインとして公開できることを願っています...
jenkins - Job DSL プラグインで MultiJob 条件付きステップを定義するための構文
Jenkins CIと Job DSL および Multijob プラグインを使用しています。DSL を使用して、条件付きステップを含むパラメーター化されたマルチジョブを定義しようとしていますが、正しい構文がわかりません。私のコード:
これを実行すると、次のエラーが表示されます。
行 117 が「and」条件を含む行である場合。
正しい構文は何でしょうか? PLATFORM パラメータを解決しないのはなぜですか?
groovy - Job-dsl-plugin- そのようなプロパティはありません: クラスの実行可能ファイル: パラメータ化されたビルド テスト用の java.lang.Thread
パラメータ化されたビルドがあり、DSL ファイルで次のように定義されています。
……
今、私はこのDSLファイルをテストしようとしており、次のテストコードを書いています
しかし、これは私に次のエラーを与えています: javaposse.jobdsl.dsl.DslScriptException: (script, line 13) No such property: executable for class: java.lang.Thread
job-dsl-core の既存のテストに従ってみました ( https://github.com/jenkinsci/job-dsl-plugin/blob/785de7f877fdbe8fc56b8b2423ae76ec9c59fa66/job-dsl-core/src/test/groovy/javaposse/jobdsl/ dsl/DslScriptLoaderSpec.groovy#L238 ) を使用して、groovy スクリプトを実行します。
この問題を修正して、テストを正常に実行するにはどうすればよいですか。
jenkins - jenkins DSL で構成されたビルド パイプラインでの手動承認ステップ
ジョブの後にビルド パイプラインを停止し、DSL を介して、パイプラインが続行されるまで手動クリックを待ちます。
DSL 経由のサポートがむらがある/ないため、プロモーション プラグインを避けたいです。
jenkins - Create a list view in a subfolder using the job DSL plugin in Jenkins
In Jenkins you can easily create a list view with the Job DSL
but if you try to create a list view within a folder, the folder will be created but not the view
Is there a way to accomplish this?