私はJenkins共有ライブラリの実装を開始し、intellijをideとしてjenkinsfileを書き込もうとしました。
共有libリポジトリからjenkinsファイルを保持している他のリポジトリに関数を取得するにはどうすればよいですか。
Jenkinsから実行しているときにうまく機能していることを明確にするために、shared-libリポジトリの関数を使用してjenkinsファイルを簡単に作成する方法が必要です。
私はIntelliJIDEAと組み合わせたmkobitによる jenkins-pipeline-shared-libraries-gradle-plugin で良い経験をしました。
このプラグインのいくつかの優れた機能は次のとおりです。
個人的には、共有libプロジェクトでパイプラインを開発し、単体テストに合格した後、パイプラインをターゲットリポジトリに統合します。
このプラグインの使用のデモンストレーション用に リポジトリの例 もあります。
Jenkins共有ライブラリは、特定のグループID、アーティファクトID、およびバージョンを使用して、Mavenプロジェクト(またはgradle、問題ではありません)として作成できます。共有ライブラリを変更するときは常に「mvninstall」を実行する必要があります(この目標は、共有ライブラリのjarアーティファクトをローカルのMavenリポジトリに追加するために使用されていました)。 jenkinsファイルを書き込む別のリポジトリでは、Mavenプロジェクトも作成し、共有ライブラリをMaven依存関係として追加する必要があります。これで、jenkinsファイルの共有ライブラリのコードを使用できます。
Jenkinsが提供するIntelliJ IDEA GSDLファイルをIDEで使用してみてください。
コンテンツをhttp://<JENKINS>/job/<PIPELINE_JOB>/pipeline-syntax/gdsl
からpipline.gdsl
ファイルにダウンロードし、このファイルをIntelliJJenkins Pipelineプロジェクトのソースフォルダーに追加します。 (そのファイルをSCMのignore-listに追加することもできます。)
GDSLファイルを追加する前前および後のオートコンプリート:
Jenkins UIで、パイプラインプロジェクトの「パイプライン構文> IntelliJ IDEA GSDL」」の下にGSDLファイルがあります。
ただし、このソリューションには、pipeline.gsdl
ファイルを手動で編集する必要があるいくつかの警告がありましたが、これは、最新ではないJenkinsのインストール(?)に関連している可能性があります。
/var
フォルダーからの)カスタムグローバル変数はGSDLファイルで考慮されますが、その変数で定義されたメソッドは考慮されません。parallel
クラスのエラー(?)が原因で、ParallelStep
ステップが正しくエクスポートされませんでした(知識源: Veaceslav Gaidarjiのブログ 。)