もっと詳しく

組織は、ビルドとテストのプロセスを自動化するためにJenkinsを採用することが増えており、Jenkinsのジョブを手動で管理することは困難になっています。 良いニュースは、Jenkins DSLプラグインを使用すると、ドメイン固有言語(DSL)構文でJenkinsジョブを定義できることです。

Jenkins DSLを使用すると、バージョン管理システムにジョブを保存し、他のユーザーと共有し、テンプレートから新しいジョブを生成できます。 また、このチュートリアルでは、JenkinsDSLプラグインを利用してアプリケーション開発の自動化を支援する方法を学習します。

読み進めてください。退屈なジョブを作成するためにJenkinsUIをクリックする必要はありません。

前提条件

このチュートリアルは、実践的なデモンストレーションになります。 フォローしたい場合は、次のものがあることを確認してください。

  • Linuxマシン–このガイドではUbuntu20.04を使用しています。
  • Java Linuxマシンに11+とJenkinsがインストールされています。
  • Gt JenkinsをGitリポジトリと統合します。
  • パイプライン: Job Jenkinsで継続的デリバリーパイプラインを実装および統合するために使用されるプラグインのパイプラインスイートを追加します。

JenkinsDSLプラグインのインストール

ジョブ間の一貫性を維持することは難しい場合がありますが、JenkinsDSLプラグインはこの問題を解決します。 どのように? 人間が読めるファイルで、プログラム形式でジョブを定義できるようにする。

ただし、ジョブを作成する前に、まずJenkinsDLSプラグインをインストールする必要があります。

1. JenkinsサーバーにSSHで接続し、次のコマンドを実行して、必要なバージョンのJavaがインストールされており、jenkinsサービスが実行されていることを確認します。

java -version && systemctl status jenkins

以下のような出力が表示されたら、JenkinsDSLプラグインをインストールする準備が整いました。

2.次に、お気に入りのWebブラウザーを開き、http:// your_server_ip:8080 / pluginManager/availableに移動します。 交換 your_server_ip:8080 Jenkinsサーバーの実際のIPアドレスとポート番号を使用します。

3.最後に、次のコマンドを使用してJenkinsDSLプラグインをインストールします。

  • 以下に示すように、右上の検索ボックスにJobDSLと入力します。

Job DSLプラグインがすでにインストールされていて、古いバージョンからアップグレードされている場合、JobDSLを検索するときにJobDSLスクリプトはリストに表示されません。 http:// your_server_ip:8080 / pluginManager / installdに移動して、プラグインJobDSLが存在するかどうかを確認できます。

  • 横のチェックボックスをオンにします ジョブDSL オプション。
  • 下部にある[再起動せずにインストール]をクリックして、JenkinsJobDSLプラグインをインストールします。
JenkinsDSLプラグインのインストール
JenkinsDSLプラグインのインストール

Jenkins UIは、プラグインのインストール中に進行状況バーを表示します。 インストールが完了すると、以下のような成功メッセージが表示されます。

JenkinsDLSプラグインのインストールの進行状況を表示する
JenkinsDLSプラグインのインストールの進行状況を表示する

JenkinsDSLプラグインを使用したJenkinsシードジョブの作成

Jenkins DSLプラグインがインストールされたので、Jenkinsシードジョブを自由に作成してください。 基本的なジョブDSLスクリプトを作成し、そのスクリプトをJenkinsシードジョブに組み込みます。 「HelloWorld!」を出力するフリースタイルジョブを作成します。 Jenkinsコンソールへのメッセージ。

Job DSLスクリプトをJenkinsシードジョブに組み込むには:

1. Jenkinsダッシュボードに移動し、左側のサイドバーで[新しいアイテム]をクリックします。 ブラウザは、新しいアイテムを作成できるページにブラウザをリダイレクトします(ステップ2)。

新しいアイテムの追加
新しいアイテムの追加

2.次に、次のアイテムを使用して新しいアイテムを作成します。

  • 入力します 項目名、以下に示すように。 ただし、アイテム名はに設定されています シード このチュートリアルでは。
  • 選択する フリースタイルプロジェクト (繰り返し可能なビルドジョブ、スクリプト、またはパイプライン)以下のオプションから。
  • 下部にある[OK]をクリックして新しいアイテムを作成すると、ブラウザは新しいアイテムの構成ページにリダイレクトします。
シードジョブの作成
シードジョブの作成

3.新しいアイテムの構成ページの他のすべてのセクションのデフォルト設定を保持します。

[ビルド]セクションまで下にスクロールし、[ビルドステップの追加]ドロップダウンボタンをクリックして、[ジョブDSLの処理]を選択します。 そうすることで、DSLスクリプトを提供するオプションが開きます(ステップ4)。

プロセスジョブDSLの選択
プロセスジョブDSLの選択

4.次に、以下に示すように、[提供されたDSLスクリプトを使用する]オプションを選択し、次のコードブロックをフィールドに入力します。

このコードブロックは、jenkins-job-demo-1という名前のフリースタイルのジョブ定義であり、シェルステップを使用して「HelloWorld」メッセージを出力します。 ジョブの名前は、JenkinsUIに表示される名前です。

// Sets the API method you want to use (job)
job('jenkins-job-demo-1') { // Sets the name of the job to jenkins-job-demo-1
	// Define what the job does
  steps {
		// Prints a message
    shell('echo Hello World! This job is working!!')
  }
}

さまざまなタイプのJenkinsジョブを作成するために利用できる方法はたくさんあります。これは、公式で見つけることができます。 ドキュメンテーション

DSLスクリプトの提供
DSLスクリプトの提供

5.ページの下部にある[保存]をクリックして、新しいアイテム(シード)の構成を保存します。

構成の保存
構成の保存

6.最後に、Jenkinsダッシュボードに移動して、以下に示すように、作成したシードジョブが存在することを確認します。

シードジョブの確認
シードジョブの確認

シードジョブの実行

これで、シードジョブが正常に作成および検証されました。 しかし、どうやってその仕事がうまくいくのかわかりますか? 「JenkinsDSLプラグインを使用したJenkinsシードジョブの作成」セクションのステップ4で提供したDSLスクリプトに対してシードジョブを実行します。

1. Jenkinsダッシュボードで、シードジョブをクリックして構成ページに移動します。

シードジョブページに移動する
シードジョブページに移動する

2.次に、左側のサイドバーで[今すぐビルド]をクリックして、ジョブを実行します。

シードジョブの実行
シードジョブの実行

3. F5キーを押して、ページを更新します。 以下に示すように、[ビルド履歴]セクションの下に新しいビルドが表示され、左下に成功ステータス(緑色のチェック)が表示されます。

この出力は、シードジョブが正常に実行され、[生成されたアイテム]セクションに新しいJenkinsジョブ(jenkins-job-demo-1)が作成されたことを示しています。

SeeJobWorksと生成された新しいジョブの表示
SeeJobWorksと生成された新しいジョブの表示

4.次に、Jenkinsダッシュボードに移動します。 以下に示すように、シードジョブによって作成された新しいJenkinsジョブ(jenkins-job-demo-1)が表示されます。

新しく生成されたジョブをクリックして、その構成ページにアクセスします。

確認ジョブの生成されたジョブを参照してください
確認ジョブの生成されたジョブを参照してください

5.[今すぐビルド]をクリックして、生成されたジョブ(jenkins-job-demo-1)を実行します。

生成されたジョブの実行(jenkins-job-demo-1)
生成されたジョブの実行(jenkins-job-demo-1)

6.最後に、以下に示すように、[ビルド履歴]セクションの下にある成功したビルドの横にある下向き矢印ボタンをクリックします。 コンテキストメニューから[コンソール出力]を選択して、ジョブの出力を確認します。

生成されたジョブのコンソール出力へのアクセス(jenkins-job-demo-1)
生成されたジョブのコンソール出力へのアクセス(jenkins-job-demo-1)

生成されたジョブが機能する場合は、Hello World!というメッセージが表示されます。 このジョブは機能しています!!以下に示すように、これはジョブDSLスクリプトで定義したメッセージです。

この時点で、JobDSLプラグインを使用してJenkinsジョブを正常に作成して実行できました。

コンソール出力の表示
コンソール出力の表示

JenkinsDSLプラグインを使用したCI/CDパイプラインのジョブの作成

これまで、JobDSLプラグインを使用してJenkinsフリースタイルジョブを作成して実行する方法を学習しました。 CI / CDパイプライン用のJenkinsジョブを作成することにより、ソフトウェア開発プロセスの人間以外の部分を自動化します。

具体的には、GitHubリポジトリからコードをプルし、コードをビルドして、単体テストを実行するジョブを作成します。

CI / CDパイプライン用のJenkinsジョブを作成するには:

1. Webブラウザーでhttp:// your_server_ip:8080 / job / seed / configureに移動して、シードジョブを構成します 交換 your_server_ip JenkinsサーバーのIPアドレスに置き換え、 シード あなたの仕事の名前で。

2.次に、[ビルド]セクションまでスクロールし、[DSLスクリプト]フィールドを見つけて、既存のコンテンツを次のコードに置き換えます。

job('jenkins-job-demo-2') {
    steps {
        shell('echo Hello World!')
    }
}

pipelineJob('github-demo') {
    definition {
        cpsScm {
            scm {
                git {
                    remote {
                        github('jenkinsci/pipeline-examples')
                    }
                }
            }
            scriptPath('declarative-examples/simple-examples/environmentInStage.groovy')
        }
    }
}

コードを追加したら、[保存]をクリックして変更を保存します。

パイプラインにDSLスクリプトを提供する
パイプラインにDSLスクリプトを提供する

3.次の画面の左側のサイドバーで[今すぐビルド]をクリックして、以下に示すようにシードジョブを再実行します。[ビルド履歴]セクション(左下)で、シードジョブが正常に実行されたことがわかります。

新しいビルド(#2)をクリックして、ビルドの構成ページにアクセスします。

シードジョブの再実行
シードジョブの再実行

4.次に、新しいビルドのコンソール出力に移動します。 以下に示すように、アイテムの追加メッセージと新しいジョブの名前が表示されます。

この出力は、新しいパイプラインジョブが正常に追加されたことを示しています。

新しいパイプラインジョブが正常に追加されたことを確認する
新しいパイプラインジョブが正常に追加されたことを確認する

5. Jenkinダッシュボードに戻ると、新しいパイプラインジョブ(jenkins-job-demo-2)がジョブのリストに追加されているのがわかります。 その新しいパイプラインジョブをクリックして、ジョブの構成ページにアクセスします。

新しいJenkinsジョブが存在することを確認する
新しいJenkinsジョブが存在することを確認する

6.最後に、[今すぐビルド]をクリックして、新しいパイプラインジョブを実行します。[ビルド履歴]セクションに示されているように、ジョブが正常に実行されたことがわかります。

ジョブの横にあるドロップダウン矢印をクリックして、[コンソール出力]を選択します。

新しいJenkinsジョブの実行
新しいJenkinsジョブの実行

以下のコンソール出力では、Jenkinsがリポジトリのクローンを作成し、コードをビルドし、単体テストを実行したというジョブの出力を確認できます。

パイプラインジョブのコンソール出力の表示
パイプラインジョブのコンソール出力の表示

結論

このチュートリアルでは、JobDSLプラグインを使用してJenkinsジョブを作成する方法を学習しました。 JenkinsPipelineプラグインを使用してCI/CDパイプラインを作成することにより、アプリケーション開発を強化することに触れました。

JobDSLプラグインとJenkinsPipelineプラグインは連携して動作し、Jenkinsジョブを管理してパイプラインを構築するための強力な方法を提供します。 これらのプラグインを構成して作成してみませんか 洗練されたビルドパイプライン ビルドプロセスの一部としてJenkinsジョブを自動的にトリガーしますか?

The post JenkinsDSLプラグインを使用した集中的なジョブ構成 appeared first on Gamingsym Japan.