問題タブ [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.

0 投票する
1 に答える
8341 参照

groovy - Jenksin Job DSLスクリプト内でシードジョブの名前を取得するにはどうすればよいですか?

Jenkins Job DSL pluginProcess Job DSLsによって提供されるビルドステップを含む Freestyle プロジェクト/ジョブを使用しています。つまり、「シード」ジョブです。が提供するコード内から、シード ジョブの名前を取得するにはどうすればよいですか?Use the provided DSL script

この質問への回答を適用しようとしましたが、どれもうまくいきませんでした。

0 投票する
2 に答える
2052 参照

git - Jenkins と Github での DSL ジョブ

実行と同じように、Github で特定のリポジトリのフォークをフェッチしようとしています。

curl -k -X GET https://api.github.com/repos/rackt/redux/forks

しかし、Jenkins の DSL スクリプトでは。

なんで?すべての人のフォークを複製し、job-dsl-pluginによって生成された個別のジョブでプロジェクトをビルドしたいためです。

もちろん、これは私が見つけたレポの単なる例です。プライベート リポジトリを使用して SSH 資格情報を使用して実行しようとしています。

それを行うための最良の方法はどれか知っていますか?

0 投票する
4 に答える
3419 参照

jenkins - 他の一連のジョブの完了時に Jenkins ジョブをトリガーするにはどうすればよいですか?

他の一連のジョブの完了に応じて 1 つのジョブしか持たない単純なケースは簡単です。マルチジョブを使用するか、ビルド フロー プラグインを使用しparallel { ... }ます。私が解決しようとしているケースは、より一般的なものです。たとえば、次のようになります。

これらの各ジョブは、前提条件が完了したときにのみトリガーされるようにしたいと考えています。

ビルド フロー プラグインも、結合プラグインも、ジョブ DSL プラグインも、これに適したメカニズムを持っていないようです。もちろん、すべてのジョブを開始して Jenkins をポーリングさせることもできますが、それは非常に見苦しいものです。

もう 1 つの行き止まりは、「アップストリーム ジョブ トリガー」です。アップストリーム ジョブの実行だけでなく、ジョブの特定のビルドをトリガーしたいと考えています。

アップデート

1 つの回答では、マルチジョブ プラグインについて言及しています。実際にこの問題を解決するために使用できますが、スケジューリングと合計ビルド時間はほとんどの場合最悪のケースです。たとえば、次の依存関係グラフがあり、ビルド時間が次のようになっているとします。

マルチジョブ プラグインを使用すると、以下が得られます。

すべての前提条件が完了したときに次のジョブをトリガーする方法があれば、合計ビルド時間はわずか 57 分になります。

ここでの答えは、できれば独自のポーリングメカニズムを作成せずに、その動作を取得する方法を説明する必要があります。

update 1 1/2 以下のコメントでは、左側のタスクと右側のタスクを 1 つのサブタスクにグループ化することが提案されました。はい、これはこの例では実行できますが、これを一般的に自動的に実行するのは非常に困難です。たとえば、追加の依存関係があるとします。right2 は left1 に依存します。与えられたビルド時間では、right2 が起動される前に left1 が完了しているため、最適なビルド時間は変わらないはずですが、この知識がなければ、right1 がないリスクを冒さずに、left1 と left2 を同じグループにまとめることができなくなります。利用可能。

更新 2

ここには既成の答えがないようです。システムのグルーヴィーなスクリプトを自分でコーディングする必要があるようです。質問に対する私自身の回答を参照してください。

更新 3

最終的にマルチジョブ プラグインをフォークし、その中に新しいロジックを記述しました。いくつかのクリーンアップの後、新しいプラグインとして公開できることを願っています...

0 投票する
1 に答える
459 参照

jenkins - job-dsl-plugin で Cobertura ラチェット設定を保持するには?

Jenkins の Cobertura プラグインは、次のボックスにチェックを入れることでラチェットをサポートしています。

  • ヘルスの自動更新
  • 安定性の自動更新

このボックスにチェックを入れると、ビルドが成功するたびに (Jenkins 構成ページの) カバレッジ メトリック ターゲットが更新されます。 ここに画像の説明を入力

これらの値は、シード ジョブがトリガーされたときに job-dsl-plugin によって上書きされます。シード ジョブがトリガーされたときにこれらの値を保持するにはどうすればよいですか?

0 投票する
1 に答える
3821 参照

jenkins - Job DSL プラグインで MultiJob 条件付きステップを定義するための構文

Jenkins CIと Job DSL および Multijob プラグインを使用しています。DSL を使用して、条件付きステップを含むパラメーター化されたマルチジョブを定義しようとしていますが、正しい構文がわかりません。私のコード:

これを実行すると、次のエラーが表示されます。

行 117 が「and」条件を含む行である場合。

正しい構文は何でしょうか? PLATFORM パラメータを解決しないのはなぜですか?

0 投票する
1 に答える
2363 参照

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 スクリプトを実行します。

この問題を修正して、テストを正常に実行するにはどうすればよいですか。

0 投票する
1 に答える
2059 参照

jenkins - jenkins DSL で構成されたビルド パイプラインでの手動承認ステップ

ジョブの後にビルド パイプラインを停止し、DSL を介して、パイプラインが続行されるまで手動クリックを待ちます。

DSL 経由のサポートがむらがある/ないため、プロモーション プラグインを避けたいです。

0 投票する
2 に答える
4770 参照

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?