Jenkins のサービス フックを作成する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

この記事では、Azure DevOps プロジェクトのサービス フックを設定して Jenkins ビルドをトリガーする方法について説明します。 Jenkins を使用してアプリをビルドする場合は、Git リポジトリにコードを格納し、継続的インテグレーション ビルドに Jenkins を使用できます。 コードを Git リポジトリにプッシュするとき、またはコードを Team Foundation バージョン管理 (TFVC) リポジトリにチェックインするときに、Jenkins ビルドをトリガーできます。

アプリの一部は Azure Pipelines で、一部は Jenkins でビルドできます。 Azure Pipelines ビルドの完了時に Jenkins ビルドをトリガーして、両方のシステムを使用してアプリをビルドできます。

Azure DevOps は、サービス フックの設定や外部サービスとの統合には課金されません。Jenkins は完全にオープンソースで無料で使用できます。

Jenkins サービス フックを作成する

Azure DevOps 組織またはプロジェクトのサービス フックを管理するには、組織内に Owner または Project Collection Administrator ロールが必要です。

Jenkins を構成する

  1. お持ちでない場合は、 Jenkins サーバーを設定します。

  2. Jenkins をオンプレミスで設定した場合は、 有効な HTTPS

  3. jenkins.xml構成ファイルで、<arguments> タグの次の行を -jar パラメーターの前に追加または更新してhudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL システム プロパティをdisabledに設定します。

    -Dhudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL=disabled.

Jenkins ビルドを設定する

  1. Jenkins で、新しい項目を作成します。

    Jenkins の [新しい項目] リンクを示すスクリーンショット。

  2. プロジェクトに適したビルドの種類を選択します。

    Jenkins のビルド名と種類を示すスクリーンショット。

  3. Git リポジトリの URL を入力します。

    Git が選択された Jenkins のソース コード管理設定を示すスクリーンショット。

Jenkins サービス フックを設定する

  1. Azure DevOps プロジェクトで、https://<organization-name>/<project-name>/_settings/serviceHooksProject settings>Service hooks に移動します。

    プロジェクト設定の [Service hooks]\(サービス フック\) の選択のスクリーンショット。

  2. Service Hooks ページで、+ アイコンまたは サブスクリプションの作成を選択します。

    [サービス フック] ページで [サブスクリプションの作成] を選択したスクリーンショット。

  3. Service画面で、Jenkinsを選択し、次へを選択

    [サービス] ページで Jenkins を選択しているスクリーンショット。

  4. Trigger 画面で、Jenkins ビルドをトリガーする Azure DevOps イベントを選択して構成し、Next を選択します。

    トリガー イベントの選択と構成のスクリーンショット。

  5. Action画面で、イベントが発生したときに実行する Jenkins アクションを構成します。

    [アクション] ダイアログ ボックスの構成のスクリーンショット。

  6. Test を選択してサービス フックをテストし、Finish を選択して構成を完了します。

Git リポジトリでイベントが発生すると、Jenkins ビルドがトリガーされます。

ヒント

REST API を使用してプログラムでサービス フック サブスクリプションを作成することもできます。 詳細については、「 プログラムでサービス フック サブスクリプションを作成するを参照してください。