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

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

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

重要

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

Jenkins を構成する

  1. まだ行っていない場合は、 Jenkins サーバーを設定します。

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

  3. 構成ファイル内のタグ内の -jar パラメーターの<arguments>前に、システム プロパティdisabled として追加または変更hudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROLjenkins.xml。

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

Jenkins ビルドを設定する

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

    Jenkins の新しいアイテム リンク
  2. プロジェクトに適したビルドの種類を作成します。

    Jenkins のビルド名と型
  3. Azure DevOps Servicesで Git リポジトリの URL を設定します。 URL は という形式 https://dev.azure.com/{orgName}/DefaultCollection/_git/{projectName}です。

    Git が選択されたソース コード管理設定

Jenkins をトリガーする

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

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

    プロジェクト管理ページのスクリーンショット。Azure DevOps Server 2019 以降。

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

  2. Jenkins を追加します。

    [ターゲット サービスの選択] ダイアログ ボックスで[Jenkins] が選択されている
  3. Jenkins ビルドをトリガーするAzure DevOps Servicesからイベントを選択します。

    [イベントの構成] ダイアログ ボックス
  4. Jenkins で実行するアクションを構成します。

    [新しいサービス フック サブスクリプション] ダイアログ ボックス

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

価格

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

Q & A

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

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

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

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