Jenkins を使用してAzure DevOpsのサービス フックを作成する

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Jenkins を使用してアプリをビルドする場合は、コードをAzure DevOpsに格納し、継続的インテグレーション ビルドに Jenkins を引き続き使用できます。 プロジェクトの Git リポジトリにコードをプッシュするとき、またはコードを Team Foundation バージョン コントロールにチェックインするときに、Jenkins ビルドをトリガーできます。

重要

Azure DevOpsは、2020 年 3 月 2 日以降、代替資格情報認証をサポートしなくなりました。 代替資格情報をまだ使用している場合は、より安全な認証方法 (個人用アクセス トークンなど) に切り替えるのを強くお勧めします。 詳細については、こちらを参照してください

Jenkins を構成する

  1. まだインストールしていない場合は、 Jenkins サーバーを設定します。

  2. Jenkins をオンプレミスで設定する場合は、 HTTPS を有効にします

Jenkins ビルドを設定する

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

    New item link in Jenkins
  2. プロジェクトに適したビルドの種類を作成します。

    Build name and type in Jenkins
  3. Azure DevOps Servicesで Git リポジトリの URL を設定します。 URL は形式 https://dev.azure.com/{orgName}/DefaultCollection/_git/{projectName}です。

    Source code management settings with Git selected

Jenkins をトリガーする

  1. プロジェクトの [サービス フック] ページに移動します。

    https://{orgName}/{project_name}/_settings/serviceHooks

    Screenshot of project administration page, Azure DevOps Server 2019 and on.

    [サブスクリプションの作成] を選択します。

  2. Jenkins を追加します。

    Select target service dialog box, Jenkins selected
  3. Jenkins ビルドをトリガーするAzure DevOps Servicesからイベントを選択します。

    Configure event dialog box
  4. Jenkins で実行するアクションを構成します。

    New service hook subscription dialog box
  1. プロジェクトの [サービス フック] ページに移動します。

    https://dev.azure.com/{orgName}/{project_name}/_apps/hub/ms.vss-servicehooks-web.manageServiceHooks-project

    Screenshot of project administration page, TFS.

    [サブスクリプションの作成] を選択します。

  2. Jenkins を追加します。

    Select target service dialog box, Jenkins selected
  3. Jenkins ビルドをトリガーするAzure DevOps Servicesからイベントを選択します。

    Configure event dialog box
  4. Jenkins で実行するアクションを構成します。

    New service hook subscription dialog box

これで、そのイベントがAzure DevOps Servicesで発生すると、Jenkins ビルドがトリガーされます。

価格

Azure DevOps Servicesは、外部サービスとの統合に関するフレームワークには課金されません。 サービスに関連する価格については、特定のサービスのサイトを確認してください。

Q & A

Q: アプリの一部を Azure DevOps Services で作成し、Jenkins の一部としてビルドできますか?

A: はい。 Azure DevOps Services ビルドが完了すると Jenkins ビルドをトリガーできるため、両方のシステムを使用してアプリをビルドできます。

Q: プログラムでサブスクリプションを作成できますか?

A: はい、 REST API を使用します