Jenkins共有ライブラリ:詳細[2022]

公開: 2021-01-02

私たちは、現代のアプリケーションが個別にデプロイ可能なコンポーネントに分解されるマイクロサービスの時代に生きています Jenkinsは、マイクロサービスをデプロイするための主要なオリジナルのCI/CDツールの中でその地位を確立したと言えます。 モノリシックアプリケーションと比較すると、個々のマイクロサービスをデプロイするためのパイプラインが多数あります。

ホースをコードとして使用して、CI/CDのプロセス全体をエンコードできます。 アプリ開発のように扱ってください。 パイプラインコードを公開し、それを使用してアプリをデプロイする前に、すべてのテストレベルを実行できます。

目次

Jenkins共有ライブラリとは何ですか?

CI / CDをシンボルとして言うとき、モジュール性と再利用が必要です。 DRYの原則に従う必要があります。 そこで、Jenkinsの共有ライブラリが役立つことがわかります。

Jenkins Shared Libraryはバージョン管理システム用の標準パイプコードを含めるというアイデアであり、参照するだけで任意の数のパイプで使用できます。 複数のチームがパイプラインに同じディレクトリを使用できます。

あなたはそれを人気のあるプログラミングディレクトリと比較することができます。 プログラミングは、コードをインポートするときに誰でも使用できる別のガイドを作成します。

たとえば、Javaからのマイクロサービス用に10個のパイプがある場合、古い作成手順が10個すべてのパイプに対して繰り返されます。 さらに、パイプコードはコピーされ、新しいサービスが追加されて貼り付けられます。 古い建設段階でいくつかのパラメータを変更したい場合は、すべてのパイプで手動で調整する必要があります。

同じシナリオで、古い建物の共有ライブラリを作成します。 すべてのパイプについて、あなたがしなければならないのは、古い建築基準法ライブラリを参照することだけです。 将来、古い変更があった場合、更新する必要があるのは共有ライブラリアイコンだけです。

読む:興味深いジェンキンスプロジェクトのアイデアとトピック

共有ライブラリの使用を開始する

共有ディレクトリは、クールなファイル(DSL + Groovy)のコレクションです。 すべてのクールなファイルはgitリポジトリにある必要があります。 この例では、Githubをgitリポジトリとして使用しています。 https://github.com/devopscube/jenkins-shared-library。 このリポジトリを複製して、共有ライブラリインフラストラクチャを取得できます。

共有ライブラリデータベースには、次のボリューム構造が含まれています。

ジェンキンス共同図書館

| ____ vars

| ____ src

| ____ 資力

Vars

これには、パイプラインから呼び出すことができるすべてのWCLコードが含まれています。 拡張子が.groovyのすべてのディレクトリファイルが含まれています。 共有されるライブラリコードを文書化するために、.txtファイルもサポートされています。 たとえば、 maven-buildという名前のファイルがある場合ですGroovyの場合、maven-groovy.txtという名前のヘルプファイルが表示されます。 このファイルで共有ディレクトリのプロパティをマークするためのヘルプドキュメントを作成できます。 ヘルプファイルは、<your-jenkins-url>/パイプライン構文/グローバルページから表示できます。

Src

これは、標準のJavaソースディレクトリです。 すべてのテキストがコンパイルされると、クラスパスに追加されます。 ここでは、信じられないほどクールなコードを追加して、共有ライブラリコードを拡張できます。 インポートマニフェストを使用して、既存のJenkinsカテゴリと拡張機能をインポートすることもできます。

クールなDSLハードウェアが特定の機能を実行するのに十分な柔軟性を備えていないシナリオがあります。 この場合、srcでカスタムgroove関数を記述し、共有ライブラリコードでそれらを読み取ることができます。

資力

ホースに必要な不要なファイルはすべてこのフォルダで管理できます。 例として、構築中にAPI呼び出しを行うための一般的なJSONテンプレートが必要になる場合があります。 このJSONテンプレートをリソースフォルダーに保存し、LibraryResource関数を使用して共有ライブラリで呼び出すことができます。

必読:インドのジェンキンス給与

共有グローバルライブラリ

使用例に応じて、共有ディレクトリを設定できる場所がいくつかあります。 JenkinsManagement»システム構成»グローバルパイプライブラリ。 必要に応じて、任意の数のディレクトリを構成できます。

これらのライブラリは、システム内のすべてのパイプラインがこれらのライブラリに実装されている関数を使用できるように、広く利用できます。

これらのライブラリは「信頼できる」と見なされます。 Java、Groovy、Jenkinsの内部API、Jenkins拡張機能、またはサードパーティのディレクトリで任意のメソッドを実行できます。 これにより、安全でないAPIを任意のパイプラインから安全に使用できる高レベルのエンベロープに折りたたむライブラリを正確に識別できます。

このSCMデータベースにコミッションを支払うことができる人は誰でも、Jenkinsに無制限にアクセスできることに注意してください。 これらのディレクトリを作成するには、Total / RunScripts権限が必要です(この権限は通常、Jenkins管理者に付与されます)。

世界のトップ大学のソフトウェアエンジニアリングコースに登録します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

フォルダレベルの共有ライブラリ

作成されたすべてのフォルダは、共有ディレクトリにリンクできます。 このメカニズムにより、ボリュームまたはサブフォルダー内のすべてのパイプに特定のディレクトリ範囲を設定できます。

フォルダベースのディレクトリは「信頼できる」とは見なされません。 通常のパイプと同じように、溝サンドボックスで動作します。

自動共有ライブラリ

他のプラグインは、外出先でライブラリを識別する方法を追加する場合があります。 たとえば、「GitHub Organization Folder」は、GitHubブランチソースで提供されるソースプラグインです。 これは、スクリプトがgithub.com/orgname/reponameから追加された構成を除いたものなどの信頼できないライブラリを使用できるようにするコンポーネントを提供します。 この場合、指定されたGitHubリポジトリは、匿名設定を使用してメインブランチから読み込まれます。

ライブラリの変更を確認するには

信頼できないディレクトリを使用したビルドのバグに気付いた場合は、再生リンクをクリックし、1つ以上のソースファイルを編集して、結果のバージョンが期待どおりに機能するかどうかを確認します。 結果に満足したら、[リリースステータス]ページの[差分]リンクをクリックして、ライブラリとコミットプールに差分を適用します。

(ライブラリの要求されたバージョンがブランチであり、ブックマークのような静的バージョンではない場合でも、再アクティブ化されたバージョンは元のバージョンと同じバージョンを使用します。ライブラリリソースをプルバックすることはできません。)

現在、信頼できるライブラリのリプレイは提供されていません。 現在、再生中のリソースファイルの変更はサポートされていません。

また読む:ジェンキンスインタビューの質問と回答

結論

覚えておくべき重要なことのいくつかを次に示します。

  • ステップやカスタム関数を作成するには、Groovyを使用する必要があります。
  • パイプラインから呼び出すことができるパイプラインステップを作成する必要があります。
  • カスタムステップの名前を含むファイルをリポジトリのvarsディレクトリに作成する必要があります。
  • def callメソッドは、ステップのパラメーターによって実装する必要があります。
  • 一般的なGroovyコードを作成する必要がある場合は、それをsrcに追加できます。
  • システム構成画面を使用して、Jenkinsに共有ライブラリを統合することもできます。

フルスタック開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクト、および割り当てを提供します。 、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との雇用支援。

ソフトウェア開発コース| マスターJava、C、Pythonなど

ソフトウェアエンジニアリングの修士号を今すぐ申し込む