1.1.3.2. Azure DevOpsをセットアップする

注釈

  • 本ページに記載の画像・設定項目は、2022年5月時点の情報です。Microsoft Azureの仕様変更により、内容が変更となる場合がありますのでご注意ください。

Azure DevOpsにおいて、自動構築コード実行に必要な申請、タスク追加およびGitHub連携など、自動構築に必要な初期設定の手順です。

Azure Pipelinesコード利用申請

不正利用防止のため、Azure DevOpsの利用開始後はAzure Pipelinesコード(自動構築コード)の実行に制限がかかっています。

その制限を解除するための申請手順は以下のとおりです。自動構築コード実行前に申請をお願いします。

なお、申請結果受領までは2~3営業日かかりますのでご注意ください。

  1. 「Azure DevOps Parallelism Request」にアクセスします。

  2. 入力フォームに以下のとおり必要事項を入力し、「送信」をクリックします。

      1. What is your name?: <担当者の氏名>
      1. What is your email address?: <担当者のメールアドレス>
      1. What is the name of your Azure DevOps Organization?: <作成した組織名>
      1. Are you requesting a parallelism increase for Public or Private projects?: Private
    Pipelines利用申請 - 入力フォーム
  3. 「ありがとうございます。回答が送信されました。」と表示されることを確認します。

    Pipelines利用申請 - 回答送信完了
  4. 2~3営業日で、「担当者のメールアドレス」宛に審査結果が届きます。承認されると、自動構築コードの実行が可能となります。

    • 承認メール
      • 件名: Free tier request was completed
      • 差出人: ▲▲▲@microsoft.com
    Pipelines利用申請 - 承認メールサンプル

Pipelinesコード実行用サービスプリンシパル作成

注釈

  • 本項の内容は、以下の環境構成において実施する手順です。
    • 構成C: Azure IoT Hub・温湿度センサー利用

作成したAzure DevOpsに割り当てるサービスプリンシパル(Azure環境の実行権限)を作成します。

  1. 「Azure Portal」にアクセスし、Azureロール「所有者」または「ユーザ アクセス管理者」を持つユーザーでログインします。

  2. 画面上部の検索窓にて「Azure Active Directory」と入力し、検索結果より「Azure Active Directory」をクリックします。

    サービスプリンシパル - Azure Active Directory
  3. 画面左のメニューより、「アプリの登録」をクリックします。

  4. 「新規登録」をクリックします。

    サービスプリンシパル - アプリの新規登録
  5. 画面に沿って必要事項を以下のとおり入力し、「登録」をクリックします。

    • 名前: <任意のサービスプリンシパル名>
    • サポートされているアカウントの種類: この組織ディレクトリのみに含まれるアカウント
    サービスプリンシパル - 登録画面
  6. 作成が完了し、作成したサービスプリンシパルの詳細画面が表示されることを確認します。

  7. 画面左のメニューより、「管理」>「証明書とシークレット」をクリックします。

    サービスプリンシパル - 詳細画面
  8. 「クライアント シークレット」タブを選択し、「+ 新しいクライアント シークレット」をクリックします。

    サービスプリンシパル - 新しいクライアントシークレット
  9. 表示された「クライアント シークレットの追加」画面にて、以下のとおり入力・選択し、「追加」をクリックします。

    • 説明: <クライアントシークレットの説明文を任意で入力>
    • 有効期限: <選択肢より選択>
    サービスプリンシパル - クライアントシークレットの作成
  10. クライアントシークレットが正しく作成されたことを確認し、「値」の文字列を控えておきます。

    サービスプリンシパル - サービスプリンシパルキーの確認

    警告

    • 「値」は新規作成時にのみ確認可能ですので、必ずこの画面で控えておくようにお願いします。
  11. Azure Portal画面上部の検索窓にて、「サブスクリプション」と入力し、検索結果より「サブスクリプション」をクリックします。

    サービスプリンシパル - サブスクリプション
  12. 表示されたサブスクリプション一覧より、使用するサブスクリプションをクリックします。

  13. 画面左のメニューより、「アクセス制御(IAM)」をクリックし、「ロールの割り当て」をクリックします。

    サービスプリンシパル - アクセス制御(IAM)
  14. 「+ 追加」>「ロールの割り当ての追加」をクリックします。

    サービスプリンシパル - ロールの割り当ての追加
  15. 「ロールの割り当ての追加」画面に表示された「ロール」リストより、「共同作成者」を選択し、「次へ」をクリックします。

    サービスプリンシパル - ロールの選択
  16. 「メンバー」タブをクリックし、以下のとおり表示・選択されていることを確認し、「+ メンバーを選択する」をクリックします。

    • 選択されたロール: 共同作成者
    • アクセスの割り当て先: ユーザ、グループ、またはサービス プリンシパル
  17. 「+ メンバーを選択する」をクリックし、上で作成したサービスプリンシパルを検索して選択し、「選択」をクリックします。

    サービスプリンシパル - メンバー選択
  18. 「メンバー」タブにて、以下のとおり表示・選択されていることを確認し、「レビューと割り当て」をクリックします。

    • 選択されたロール: 共同作成者
    • アクセスの割り当て先: ユーザ、グループ、またはサービス プリンシパル
    • メンバー: <上で作成したサービスプリンシパル>
    • Description: <任意>
    サービスプリンシパル - メンバー設定
  19. 「レビューと割り当て」タブをクリックし、表示された内容を確認し、「レビューと割り当て」ボタンをクリックします。

    サービスプリンシパル - レビューと割り当て
  20. 「ロールの割り当てが追加されました」と表示されることを確認します。

    サービスプリンシパル - ロール割り当て完了

Azureへの接続

注釈

  • 本項の内容は、以下の環境構成において実施する手順です。
    • 構成C: Azure IoT Hub・温湿度センサー利用

上記手順で作成したサービスプリンシパルをAzure DevOpsに登録し、Azureへの接続を設定します。

サービスプリンシパルの作成および本手順を実施することで、Azure環境の自動構築が可能となります。

  1. 作成したAzure DevOpsのプロジェクトページにアクセスします。

  2. 画面左下の「Project settings」をクリックします。

    Azureへの接続 - プロジェクト設定
  3. 画面左のメニューより「Pipelines」>「Service connections」をクリックします。

  4. 表示された「Service connections」画面の「Create service connection」をクリックします。

    Azureへの接続 - サービス接続の作成
  5. 「Choose a service or connection type」画面にて「Azure Resource Manager」を選択し、「Next」をクリックします。

    Azureへの接続 - Choose a service or connection type 1
    Azureへの接続 - Choose a service or connection type 2
  6. 「Authentication method」画面にて「Service principal(manual)」を選択し、「Next」をクリックします。

    Azureへの接続 - Authentication method
  7. Service connectionの作成画面にて、以下のとおり入力・選択し、「Verify」をクリックします。

    • Environment: Azure Cloud
    • Scope Level: Subscription
    • Subscription Id: <サービスプリンシパルを作成したAzure環境のサブスクリプションID>
    • Subscription Name: <サービスプリンシパルを作成したAzure環境のサブスクリプション名>
    • Service Principal Id: <作成したサービスプリンシパルのアプリケーション(クライアント)ID>
    • Credential: Service Principal Key
    • Service principal Key: <作成したサービスプリンシパルのサービスプリンシパルキー>
    • Tenant ID: <作成したサービスプリンシパルのディレクトリ(テナント)ID>
    Azureへの接続 - Verify
  8. 「Verify」ボタンの横に「Verification Succeeded」と表示されることを確認します。

    Azureへの接続 - Verify Succeeded
  9. 残りの項目を以下のとおり入力・選択し、「Verify and save」をクリックします。

    • Service connection name: <任意のサービス接続名>
    • Description(optional): <説明文を任意で入力>
    • Grant access permission to all pipelines: Off
    Azureへの接続 - Verify and Save
  10. Service connectionが正しく作成されることを確認します。

    Azureへの接続 - 作成完了

Azure DevOpsへのタスク追加

本環境の自動構築に必要なタスクを追加します。

タスク「Azure Pipelines Terraform Tasks」の追加

  1. 以下のURLにアクセスし、「Get it free」をクリックします。

  2. Microsoftのログイン画面が表示された場合は、Azure DevOpsのユーザーでログインします。

  3. 「Select an Azure DevOps organization」画面にて、作成した組織を選択し「Install」をクリックします。

    タスク追加 - Azure Pipelines Terraform Tasksインストール
  4. 「You are all set!」と表示されることを確認します。

    タスク追加 - Azure Pipelines Terraform Tasksインストール完了

Azure DevOpsとGitHubの連携

本環境の自動構築に必要なコードを保存・管理するGitHubとAzure DevOpsを連携する手順です。

  1. 作成したAzure DevOpsのプロジェクトページにアクセスします。

  2. 画面左下の「Project settings」をクリックします。

    GitHub連携 1
  3. 画面左のメニューより「Pipelines」>「Service connections」をクリックします。

  4. 表示された「Service connections」画面右上の「New service connection」をクリックします。

    GitHub連携 2
  5. 「New service connection」画面にて「GitHub」を選択し、「Next」をクリックします。

    GitHub連携 3
  6. 「New GitHub service connection」画面にて以下のとおり入力・選択し、「Authorize」をクリックします。

    • Authentication method: Grant authorization
    • OAuth Configuration: Azure Pipelines
    GitHub連携 4
  7. GitHubへのサインイン画面が表示されるので、ユーザー情報を入力しGitHubにサインインします。

    GitHub連携 5
  8. 「New GitHub service connection」画面にて、残りの空欄を以下のとおり入力・選択し、「Save」をクリックします。

    • Service connection name: <任意のサービス接続名>
    • Description(optional): <説明を任意で入力>
    • Grant access permission to all repositories: Off
    GitHub連携 4
  9. 「Service connections」画面に、作成したサービス接続が表示されていることを確認します。