ALM Accelerator を手動で構成する

ALM Accelerator for Power Platform のコンポーネントは、付随する 管理アプリ を使用するか 手動で設定できます。 この記事では、アプリの手動での構成、7 つのセクションで構成されています。

前提条件

ALM Accelerator for Power Platform をインストールする前に、次の前提条件を満たしていることを確認してください。

  • ALM Accelerator は、Microsoft Dataverse データベースを使用している Power Platform にインストールする必要があります。 ソリューションを展開するために ALM Accelerator を使用するすべての環境も Dataverse データベースが必要です。

    注意

    ALM Accelerator は Dataverse for Teams と互換性がありません。 ALM Accelerator と関連する パイプラインの両方が、すべての環境でフルバージョンの Dataverse を使用していることが前提となります。

    他の CoE スターター キット ソリューションと同じ環境にこの ALM Accelerator をインストールすることをお勧めします。 組織にとって最適な戦略を決定する方法について詳しくは、以下をご覧ください。

  • ALM Accelerator はソース管理と展開 (パイプライン) に Azure DevOps を使います。 Azure DevOps 組織がない場合は、Azure DevOps サイト で最大 5 ユーザーまで無料でサインアップできます。

  • このセクションの手順を完了するには、Azure、Azure DevOps、Power Platform で次のユーザーとアクセス許可が必要です。

    • Microsoft Entra グループを作成および表示し、Microsoft Entra ID でアプリ登録を作成し、管理者にアプリ登録への同意を付与する権限を持つ、ライセンス取得済みの Azure ユーザー
    • パイプライン、サービス接続、リポジトリ、および拡張機能を作成および管理するアクセス許可を持つ、ライセンス取得済みの Azure DevOps ユーザー
    • 管理者権限をアプリケーション ユーザーに付与する権限のある、ライセンス取得済みの Power Platform ユーザー
  • ALM Accelerator がインポートされる環境で、次のコネクタを一緒に使用できる必要があります。

  • ALM Acceleratorをインストールする 環境 にCreator Kit をインストールします。

基本的な設定

次の手順は、ALM Accelerator の機能に一般的に適用し、プロジェクトやソリューション固有のものではありません。

利用している Microsoft Entra 環境で、アプリ登録を作成する

ALM Accelerator で使用するアプリ登録を作成し、Azure DevOps および Power Apps または Dataverse で操作を実行するために必要な権限をアプリと関連するパイプラインに付与します。 これを行う必要があるのは 1 回だけです。

以下の手順は、Dataverse と Azure DevOps の両方の権限を持つ単一のアプリ登録を作成する方法を表しています。 ただし、別のアプリ登録を作成して責任を分割することをお勧めします。 アプリの登録戦略を決定する前に、個別のアプリの登録がメンテナンスとセキュリティの両方にどのような影響を与えるかを検討する必要があります

アプリ登録を作成する

  1. Azure portalにサインインします。

  2. Microsoft Entra ID>アプリの登録 を選択します。

  3. + 新規登録 を選択してから、登録に ALMAcceleratorServicePrincipal などの名前を付けます。

  4. 他のすべてのオプションを既定値のままにして、登録 を選択します。

アクセス許可をアプリ登録に追加する

  1. 左側のサイド パネルで、API 資格情報 を選択します。

  2. + アクセス許可の追加を選択します。

  3. 委任されたアクセス許可user_impersonation を選択してから、Dynamics CRM を選択します。

  4. 権限の追加 を選択して、Dynamics CRM API user_impersonation 権限をアプリ登録に追加します。

  5. + アクセス許可の追加 を再度選択します。

  6. 組織が使用する API タブを選択します。 PowerApps-アドバイザー を検索して選択し、委任されたアクセス許可Analysis.All (管理者の同意は必要ありません) を選択します。

    このアクセス許可は、アプリチェッカー を介して静的分析を実行するために必要です。

  7. 権限の追加 を選択して、PowerApps アドバイザー API Analysis.All 権限をアプリ登録に追加します。

  8. + アクセス許可の追加 を再度選択します。

  9. Microsoft [API] タブまたは [組織が使用するAPI] タブのいずれかで、選択 Azure DevOps、次に選択 [委任されたアクセス許可] および [user_impersonation]を選択します。

    このアクセス許可は、ALM Accelerator アプリのカスタム コネクタを介して Azure DevOps に接続するために必要です。

  10. 私の組織が使用している API タブからの Azure DevOps アクセス許可を追加する場合、後で使用するために アプリケーション (クライアント) ID をコピーします。

    これを DevOps アプリケーション (クライアント) ID と呼ばれますが、この手順の後でコピーした アプリケーション (クライアント) ID とは異なります。

    組織が使用する API タブとアプリケーション (クライアント) IDが強調表示された、API 権限のリクエスト ウィンドウのスクリーンショット。

    私の組織が使用している API タブで Azure DevOps のアクセス権限を見つけられない場合、次の手順に従って DevOps アプリケーション (クライアント) ID を取得します。

    1. プライベート ブラウザ ウィンドウを開き、https://dev.azure.com/<your devops organization>/_apis に移動します。
    2. サインイン ページで、URL の client_id パラメータの値をコピーします。

    URL 内の client_id パラメータが強調表示されている、Azure DevOps 組織のサインイン ページのスクリーンショット。

  11. 権限の追加 を選択して、Azure DevOps API user_impersonation 権限をアプリ登録に追加します。

  12. <テナント に管理者の同意を付与する> を選択します。

クライアント シークレットとリダイレクト URI を構成する

  1. 左側のナビゲーション パネルで、証明書とシークレット を選択します。

  2. + 新しいクライアント シークレットを選択します。

  3. 有効期限を選択して、追加を選択します。

  4. 後で使用するために、クライアント シークレット をコピーします。 値をコピーできるのはこのときだけです。 ページを離れる前に必ずこれを行ってください。

  5. 左側のサイド パネルで、概要 を選択します。

  6. アプリケーション (クライアント) ID および ディレクトリ (テナント) ID をコピーします。

  7. 構成を選択します。

アプリの登録に Power App Management のアクセス許可を付与します

パイプラインが環境内で必要なアクションを実行できるように、アプリの登録に Power App 管理 権限を付与します。 これを行うには、次の PowerShell コマンドレットを、Power Apps 管理者権限を持つ対話型ユーザーとして実行する必要があります。 アプリ登録を作成した後、このコマンドを 1 回実行するだけで済みます。

重要

次の PowerShell コマンドレットは、アプリの登録に Power Platform 管理者のような昇格されたアクセス許可を与えます。組織のセキュリティ ポリシーでは、これらの種類のアクセス許可が許可されていない場合があります。 続行する前に、それらが許可されていることを確認してください。 許可されていない場合、特定の機能は ALM Accelerator パイプラインで動作しません。

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber
New-PowerAppManagementApp -ApplicationId <the Application (client) ID you copied when you created the app registration>

Azure DevOps の拡張機能をインストールする

ALM Accelerator は、Azure DevOps マーケットプレースで取得可能なサードパーティの拡張機能を含む、いくつかの Azure DevOps の拡張機能を使用します。 各サードパーティ各拡張機能の Web ページとそのソース コードへのリンクは以下の指示をご覧ください。 Marketplace拡張機能パブリッシャーを評価する方法について学習します

  1. Azure DevOps にサインインします。

  2. 組織の設定 を選択します。

  3. 全般>拡張機能 を選択します。

  4. 次の拡張機能を検索してインストールします:

GitHub から Azure DevOps インスタンスへの YAML パイプラインをクローンします

  1. https://aka.ms/coe-alm-accelerator-templates-latest-release に移動して、最新リリースの URL をコピーします。

  2. Azure DevOps にサインインします。

  3. プロジェクトを作成するか、既存のプロジェクトを選択します。

  4. リポジトリ を選択して、リポジトリ リストから リポジトリのインポート を選択します。

  5. 手順 1 でコピーした URL を URL のクローンを作成する を選択し、インポート を選択します。

  6. このリポジトリ既定のブランチが メイン であることを確認します。 Reposブランチ を選択して、 メイン ブランチは既定としてタグ付けされていることを確認します。

    そうでない場合は、 メイン ブランチへの 3 つの縦のドット () を選択して、その他のオプションメニューから 規定ブランチとして設定 を選択します。

    注意

    このリポジトリは、ソリューション パイプライン テンプレートとエクスポート/インポート パイプラインが実行される場所になります。 後で、ソリューションのパイプラインを作成するときに、 の別のリポジトリでソリューションをソース管理することを選択した場合は、この特定のプロジェクトとリポジトリを参照する必要があります。

ソリューションのインポート、削除、およびエクスポート用のパイプラインを作成する

Azure DevOps レポの YAML に基づいてインポート、削除、エクスポート パイプラインを作成します。 これらのパイプラインはそれぞれ、ソリューションを Git にコミット、ソリューションをインポート、またはソリューションを削除する際に実行されます。

注意

パイプラインが実行されているソリューションに関係なく、すべてのエクスポートが同じアクションを実行することが期待される場合は、このセクションで説明するように、単一のエクスポート パイプラインを作成するだけで十分です。 ただし、ソリューションに応じて、異なるエクスポート アクションが必要になる場合があります。 その場合は、ソリューション名を export-solution-to-git-SampleSolution のような export-solution-to-git パイプラインに追加して、アプリに特定のソリューション パイプラインを実行させることができます。

次の表は、リポジトリ内の YAML ファイルとそれに付随するパイプラインとの対応を示しています。

YAML ファイル パイプライン名
export-solution-to-git.yml export-solution-to-git
import-unmanaged-to-dev-environment.yml import-unmanaged-to-dev-environment
delete-unmanaged-solution-and-components.yml delete-unmanaged-solution-and-components
  1. Azure DevOps では、パイプライン>新しいパイプラインを作成する に移動します。

  2. コード レポジトリの Azure Repos Git を選択して、前の手順でパイプライン テンプレートを使用して作成およびシード値を設定された Azure DevOps リポジトリをポイントします。

  3. パイプラインを構成する ページで、既存の Azure Pipelines YAML ファイル を選択して、/Pipelines/export-solution-to-git.yml/Pipelines/import-unmanaged-to-dev-environment.yml または /Pipelines/delete-unmanaged-solution-and-components.yml をポイントして 続行 を選択します。

  4. 継続 を選択し、保存 を選択します。

  5. パイプラインを実行 の横にある 詳細 メニュー () を選択して、名前の変更/移動 を選択します。

  6. 必要に応じて、パイプライン名を export-solution-to-gitimport-unmanaged-to-dev-environment または delete-unmanaged-solution-and-components に変更します。

  7. 保存 を選びます。

エクスポート パイプライン変数の作成 (オプション)

export-solution-to-git パイプラインでパイプライン変数を設定して、ソース管理に保持される情報をコントロールします。 これらの設定をグローバルに適用する場合は、export-solution-to-git パイプラインで変数を設定します。 これらの設定をエクスポート時に特定のソリューションに適用する場合は、前のセクションにあったようにソリューションに特定のエクスポート パイプラインを作成し、変数をそのパイプラインに設定します。

エクスポートプロセス中に環境変数の現在の値がソースコントロールにコミットされないことを確実にするために、export-solution-to-git パイプライン上に DoNotExportCurrentEnvironmentVariableValues 変数を作成してその値を True に設定します。

重要

このパイプライン変数が推奨されており、 アプリ向け ALM Accelerator の展開構成機能を使用できます。

ソリューションのエクスポート中に特定の既定環境変数の値が設定されていることを確実にするために、export-solution-to-git パイプライン上に VerifyDefaultEnvironmentVariableValues 変数を作成してその値を True に設定します。 既定の環境変数値は、展開構成ガイド で、customDeploymentSettings.json 構成の一部として構成できます。

  1. Azure DevOps で、パイプライン>ライブラリ>新しい変数グループを作成する の順に選択します。

  2. 新しい変数グループ alm-accelerator-variable-group に、ここに新られた通りに名前を付けます。

    パイプラインはこの特定の変数グループを参照するため、表示されているとおりに正確に名前を付ける必要があります。 使用している変数グループに別の名前付け規則を使用する場合は、パイプラインの一部を変更して代わりに使用する名前を参照する必要があります。

  3. 次の変数を変数グループに追加します。

    件名 説明 価値
    AADHost Microsoft Entra 承認エンドポイント パブリック クラウドの場合は、login.microsoftonline.com を使用します。 ガバメント クラウドの場合は、適切な認証 URL を使用します。
    ProcessCanvasApps キャンバス アプリはエクスポート中にアンパックされていない、あるいはビルド中にパックされていないか False の場合、キャンバス アプリはエクスポート中にアンパックされず、ビルド中にパックされません。 キャンバス アプリのアンパックおよびパック機能はプレビュー段階にあり、現時点では運用環境での使用は推奨されません。 ただし、この変数を True に設定しない限り、ソース管理でキャンバスのソース コードを表示することはできません。
  4. (オプション) パイプラインで Canvas studio Test Automation を使用する場合、変数グループに次の変数を追加します:

    件名 価値
    TestAutomationLoginMethod クラウドアイデンティティ
    TestAutomationMakerPortalUrl Power Apps 作成者ポータルからの URL、通常 *https://make.powerapps.com*
    TestAutomationUsername 自動テストの実行に使用されるユーザー アカウント
    TestAutomationPassword 自動テストの実行に使用されるユーザー アカウントのパスワード
  5. (オプション) 既定では、グローバル変数が制限されており、各パイプラインへのアクセスを構成する必要があります。 簡易化して、任意のパイプラインへのアクセスを許可することが可能です。 変数グループ (パイプライン>ライブラリ>alm-accelerator-variable-group) で、メニューにある パイプラインのアクセス許可 で、() を選択して、アクセスを開く を選択します。

プロジェクト ビルド サービスのアクセス許可を設定する

重要

以下の手順を混乱させる可能性がある "ビルド サービス" アカウントが Azure DevOps に多数あります。 以下の手順 3 と 5 で指定されている名前と形式にご注意ください。 最初のリストに表示されない場合は、特定のアカウントを検索する必要がある場合があります。

  1. Azure DevOps で、プロジェクト設定 を選択します。

  2. リポジトリ>セキュリティ を選択します。

  3. ユーザー から プロジェクト コレクション ビルド サービス (あなたの組織名) を検索して選択します。

    注意

    場合によっては、プロジェクト コレクション ビルド サービス ユーザーの後にあなたの 組織名 が表示されない場合があります。 それは単なる一意の識別子である可能性があります。 この場合、検索機能を使ってユーザーを検索し、それを選択します。

  4. ビルド サービス ユーザー用に次のアクセス許可を設定します:

    Permission 価値
    共同作成者 許可
    pull request に貢献する 許可
    分岐を作成する 許可
    ポリシーの編集 許可
  5. ユーザー から あなたのプロジェクト名サービスのビルド (あなたの組織名) を選択します。

  6. 手順 4 と同じ値を設定します。

  7. パイプライン を選択して、右上隅にある 3 つのドット (...) を選択してから、セキュリティを管理する を選択します。

  8. あなたのプロジェクト名ビルド サービス (あなたの組織名) ユーザーに次の権限を設定します。

    Permission 価値
    ビルド パイプラインを編集する 許可
    ビルド品質の編集 許可する
    ビルド キューを管理する 許可する
    ビルドによるチェックイン検証のオーバーライド 許可
    ビルド情報の更新 許可
    ビルド パイプラインを表示する 許可
    ビルドを表示 許可
  9. プロジェクト設定>エージェント プール を選択し、セキュリティを 選択して、そして 追加 を選択します。

  10. ユーザー から あなたのプロジェクト名 サービスのビルド (あなたの組織名) を選択します。

  11. ロール閲覧者 に設定します。

  12. 追加を選択します。

  13. (オプション) デフォルトでは、各リポジトリのパイプライン権限は制限されており、個別に構成する必要があります。 簡易化して、任意のパイプラインへのアクセスを許可することが可能です。 プロジェクト設定>リポジトリ で、各リポジトリを順番に選択します。 上部メニューで、セキュリティ を選択します。 パイプラインのアクセス許可 ブロックを検索して、(...) を選択して、オープン アクセス を選択します。

開発プロジェクトの設定

次のセクションでは、サポートする各開発プロジェクトのセットアップに必要な設定手順について説明します。 このコンテキストで開発プロジェクトは、ALM プロセス自身をサポートする Dataverse 環境の構成を含む、正常なアプリケーション ライフサイクル管理 (ALM) をサポートするために必要なインフラストラクチャと構成です。

Azure DevOps が Power Platform にアクセスするためのサービス接続を作成する

開発、検証、テスト、運用などの各 Dataverse 環境は、Azure DevOps に Power Platform サービス接続が必要です。 環境ごとに次の手順を実行します。

注意

ALM Accelerator アプリのユーザーには、Azure DevOps のサービス接続でユーザーか管理者の役割のいずれかを持つ環境のみが表示されます。 個人の開発環境を使用している場合、作成者は、個人的な開発環境で使用するサービス接続用のユーザーか管理者ロールを所有している必要があります。 検証、テスト、運用環境のサービス接続には、パイプラインに付与されたアクセス許可のみが必要です (ビルド サービスのような)。

  1. Azure DevOps にサインインしてプロジェクトを選択します。

  2. プロジェクト設定>サービス接続 を選択し、サービス接続の作成 を選択します。

  3. Power Platform サービス接続タイプを検索して選択します。

  4. 次へを選択します。

  5. サーバーの URL で、環境の URL、たとえば、https://myorg.crm.dynamics.com/ を入力します。

    重要

    URL にスラッシュ (/) を含める必要があります (前の例では、.com /)。

  6. サービス接続名 の場合、末尾のスラッシュ (/) を含む、手順 4 と同じ URL を入力します。

  7. アプリ登録を作成した 時、Microsoft Entra からコピーした テナント IDアプリケーション (クライアント) IDクライアントシークレット を入力します。

  8. すべてのパイプラインにアクセス許可を付与 を選択します。

  9. 保存 を選びます。

ユーザーが アプリ (例えば、作成者環境) アクセスできる必要があるすべての環境で、サービス接続ですべてのユーザーにユーザー権限を与えてサービス接続を使用できるようにする必要があります。

  1. サービス接続リストから、ユーザーと共有するサービス接続を選択します。

  2. 右上隅の 詳細 (...) を選択してから、セキュリティ を選択します。

  3. グループまたはユーザー リストで、ユーザー アクセス許可を付与するグループまたはユーザーを選択します。

  4. ユーザーロール追加 の順に選択します。

開発、検証、テスト、運用の環境ごとにこのセクションの手順を繰り返します。

プロジェクト ビルド サービスのアクセス許可を更新して、サービス接続を設定する

  1. Azure DevOps で、プロジェクト設定>サービス接続 を選択します。

  2. 右上隅にある (...) を選択して、セキュリティ を選択し、追加 を選択します。

  3. ユーザー から あなたのプロジェクト名 サービスのビルド (あなたの組織名) を選択します。

  4. ロール管理者 に設定し、追加 を選択します。

利用している Dataverse 環境で、アプリ ユーザーを作成する

環境内にアプリケーション ユーザーを作成して、パイプラインが Dataverse に接続できるようにします。 これは、ALM Accelerator を使用して展開する予定の各環境で実行します。

  1. Power Platform 管理センターにサインインします。

  2. 開発環境を選択してから、設定 を選択します。

  3. ユーザー + アクセス許可>アプリケーション ユーザー を選択します。

  4. + 新しいアプリ ユーザー を選択します。

  5. + アプリに追加 を選択して、アプリの登録時に作成したアプリを選択し、追加 を選択します。

  6. 部署 を選択する。

  7. セキュリティ ロール の右側にある鉛筆アイコンを選択し、アプリ ユーザーのセキュリティ ロールを選択します。

    このアプリ ユーザーにシステム管理者セキュリティ ロール権限を付与して、ユーザーが各環境で必要な機能を実行できるようにすることをお勧めします。

  8. 作成を選択します。

検証、テスト、および実稼働環境で今ステップを繰り返します。

ソリューションの設定

Dataverse でソリューションを作成するときに、そのソリューション専用のパイプラインを作成する必要があります。 CoE ALM テンプレート リポジトリの パイプライン ディレクトリに、次のサンプルのパイプラインが含まれています。

サンプル パイプラインを使用すると、特定のソリューション パイプライン YAML とは別のプロジェクトまたはリポジトリに、組織はパイプライン テンプレートを柔軟に保存することができます。 このセクションの手順に従って、ソリューション パイプラインを構成します。 ソース コントロールに ALM Accelerator を使用している各ソリューションごとにこの手順を繰り返します。

重要

ソリューション パイプラインの YAML は、ソリューションをソース管理するために使用するのと同じレポジトリに常に保存されます。 ただし、パイプライン テンプレート、つまりフォルダー Pipeline\Templates は、ソリューション パイプライン YAML と同じリポジトリに存在することも、別のリポジトリやプロジェクトに存在することもできます。

ソリューションのビルドと展開のパイプラインを作成する

ソリューション パイプラインは、ソース管理ソリューションを構築してテナント内の環境に展開するために使用されます。 提供されているサンプル パイプラインは、検証、テスト、運用の 3 つの環境のみを想定しています。 しかし、組織の環境戦略に基づいて、必要な数のソリューション パイプラインを作成できます。

サンプルの展開パイプラインは、ブランチへの変更 (つまり、テストと運用)、または Azure DevOps (つまり、検証) のブランチ ポリシーの一部としてトリガーされます。 プルリクエスト検証のためのブランチポリシーの設定について詳しくは、こちらをご覧ください。。 トリガーを使用せずにパイプラインを手動で実行することもできます。

このセクションのステップに従い、サンプル パイプライン YAML から展開パイプラインを作成する方法を示しています。 次のテーブルに、パイプライン構成について説明します。

重要

パイプライン名は次の表に示すとおり、MyNewSolution の代わりにソリューションの名前を入れるようにする必要があります。

パイプライン YAML ファイル名 パイプライン名 有効化されたブランチ ポリシー 必須
build-deploy-validation-MyNewSolution.yml deploy-validation-MyNewSolution はい はい
build-deploy-test-MyNewSolution.yml deploy-test-MyNewSolution いいえ はい
build-deploy-prod-MyNewSolution.yml deploy-prod-MyNewSolution いいえ いいえ (次のセクションへ移動)

注意

次の手順では、(検証、テスト、運用環境などの) 環境ごとに構築および展開パイプラインを作成します。 ただし、検証とテストのためにビルドと展開を行い、テスト ビルドから運用環境にアーティファクトを展開することもできます。 その場合は、検証環境とテスト環境に対してのみこのセクションの手順に従ってください。 その後、ソリューション展開パイプラインの作成 にスキップして、リリース パイプラインの構成方法を確認します。

パイプライン ファイルの作成

  1. Azure DevOps で、コミットした パイプライン フォルダー を含むレポジトリへ移動し、パイプライン フォルダーを選択します。

  2. 3 つのサンプル展開パイプラインのひとつを開き、新しいパイプラインで使用する YAML をコピーします。

  3. パイプラインで使用するリポジトリの名前をメモします。

  4. ソリューションをソース管理するために使用するリポジトリに移動します。

  5. デフォルトのブランチに基づいてブランチを作成し、ソリューションの名前を付けます。たとえば、 MyNewSolution です。

    このブランチが、リポジトリのソリューションで使用する次のバージョン (v-next) ブランチとなります。 すべての開発作業は、このブランチから開発者の個人作業ブランチに分岐してから、検証とテストにプッシュするために v-next ブランチにマージする必要があります。 後で、リリースの準備ができたら、v-next ブランチをメイン ブランチまたは既定のブランチにマージできます。

  6. 上部のメニューから 新規 を選択し、フォルダー を選択します。

  7. 新しいフォルダーにソリューションと同じ名前を付けます。

  8. build-deploy-validation-SampleSolution.ymlbuild-deploy-test-SampleSolution.yml、または build-deploy-prod-SampleSolution.yml のような新しいパイプライン YAML ファイルを与えます。

  9. 作成を選択します。

ファイルを更新して保存します

  1. 前のセクションの手順 2 でコピーした YAML を新しいパイプライン ファイルに貼り付けます。

  2. 新しいパイプライン YAML で次の値を変更します。

    • リソース>リポジトリ>名前 をパイプライン テンプレートを含むリポジトリ名に変更します。

      この例では、リポジトリは coe-alm-accelerator-templates と言う名前で、MyNewSolution レポジトリとして同じプロジェクトに存在します。 テンプレート リポジトリが別の Azure DevOps プロジェクトにある場合は、ProjectName/RepoName の形式を使用できます。 必要であれば ref パラメーターを使用しているテンプレートがある場所のブランチも指定できます。

    • SampleSolutionName を参照する任意の値をソリューションの一意の名前に変更します (この例では、MyNewSolution)。

  3. コミット を選択して、変更を保存します。

  4. Azure DevOps で、パイプライン に移動してから、新しいパイプライン を作成を選択します。

  5. コード レポジトリの Azure Repos Git を選択します。

  6. 展開パイプライン YAML を含む DevOps リポジトリ を選択します。

  7. パイプラインを構成する ページで、既存の Azure Pipelines YAML ファイル を選択し、以前に作成したリポジトリにある YAML ファイルをポイントして、続行 を選択します。

  8. 保存 を選択して、パイプラインを実行する の横にある (...) を選択してから、名前の変更/移動 を選択します。

  9. MyNewSolution がソリューション名である deploy-validation-MyNewSolutiondeploy-test-MyNewSolution、または deploy-prod-MyNewSolution にパイプライン名を 変更します。

  10. 保存 を選びます。

  11. 新しいパイプラインがリポジトリのデフォルト ブランチに作成されていない場合: パイプラインで 編集 を選択します。 右上隅の (...) を選択してから、トリガーを選択します。 YAML タブを選択てから ソースを取得する を選択します。 手動ビルドとスケジュール済ビルドの既定ブランチ をソリューション ブランチをポイントするように変更します。 パイプライントリガーの設定方法の詳細

  12. 前の手順を繰り返して、coe-alm-accelerator-templates リポジトリ (deploy-validation-SampleSolution.ymldeploy-test-SampleSolution.ymldeploy-prod-SampleSolution.yml) からサンプル展開パイプライン YAML を参照している各環境の展開パイプラインを作成します。

  13. 保存してキュー を選択して 保存 を選択します。

ソリューションのビルドと展開のパイプラインを作成する (オプション)

前のメモで述べたように、前のセクションのこのステップでは、(検証、テスト、運用環境などの) 環境ごとに構築および展開するパイプラインを作成できます。 ただし、検証とテストのためにビルドと展開のみを行い、テスト ビルドから運用環境にアーティファクトを展開する場合、別のソリューション展開パイプラインを作成できます。

このセクションのステップに従い、サンプル パイプライン YAML からソリューション展開パイプラインを作成する方法を示しています。 次のテーブルに、パイプライン構成について説明します。

重要

パイプライン名は次の表に示すとおり、MyNewSolution の代わりにソリューションの名前を入れるようにする必要があります。

パイプライン YAML ファイル名 パイプライン名 有効化されたブランチ ポリシー
deploy-prod-MyNewSolution.yml deploy-prod-MyNewSolution いいえ
  1. Azure DevOps で、コミットした パイプライン フォルダー を含むレポジトリへ移動し、パイプライン フォルダーを選択します。

  2. サンプル展開パイプライン deploy-prod-pipelineartifact-SampleSolution.yml を開き、新しいパイプラインで使用する YAML をコピーします。

  3. パイプラインで使用するリポジトリの名前をメモします。

  4. ソリューションをソース管理するために使用するリポジトリに移動します。

  5. 上部のメニューから 新規 を選択し、ファイル を選択します。

  6. 新しいパイプライン YAML ファイルに名前を付けます。たとえば、 MyNewSolution がリューション名前の deploy-prod-MyNewSolution.yml です。

  7. 作成を選択します。

  8. 手順 2 でコピーした YAML を新しいパイプライン ファイルに貼り付けます。

  9. 新しいパイプライン YAML で次の値を変更します。

    • トリガー>ブランチ>含める を変更が展開を運用環境にトリガーするブランチに更新します。

    • リソース>リポジトリ>名前 をパイプライン テンプレートを含むリポジトリ名に変更します。

      この例では、リポジトリは coe-alm-accelerator-templates と言う名前で、MyNewSolution レポジトリとして同じプロジェクトに存在します。 テンプレート リポジトリが別の Azure DevOps プロジェクトにある場合は、ProjectName/RepoName の形式を使用できます。 必要であれば ref パラメーターを使用しているテンプレートがある場所のブランチも指定できます。

    • リソース>パイプライン>ソース を更新して、このパイプラインを展開すべきアーティファクトを含むビルド パイプラインを指定します。 この場合、以前に作成しソリューションを構築してテスト環境に展開した、テスト パイプラインからのアーティファクトを展開します。

    • SampleSolutionName を参照する任意の値をソリューションの一意の名前に変更します (この例では、MyNewSolution)。

  10. deploy-validation-ALMAcceleratorSampleSolutiondeploy-test-ALMAcceleratorSampleSolution に対する以前のセクションからの手順 11 から 20 を繰り返し、deploy-prod-ALMAcceleratorSampleSolution と呼ばれる新しい運用パイプライン YAML からパイプラインを作成します。

展開パイプライン変数の設定

前に構成した各パイプラインの場合、のパイプラインを展開する環境に基づいて、変数 EnvironmentNameServiceConnection の値を設定する必要があります。 展開の一環として EnableFlows 変数を設定して Power Automate フローをオフにすることもできます。

環境とサービス接続変数の作成 (必須)

すべての展開パイプラインには、環境変数 EnvironmentName とサービス接続変数 ServiceConnection が必要です。

  • EnvironmentName 指定する Azure DevOps 環境 展開履歴を追跡し、特定の環境への展開の権限と承認を設定できるようにするために展開されています。 この値を 検証テスト、また 製造 を適切に設定します。

  • ServiceConnection 展開パイプラインが接続する方法を指定します Power Platform。 許可される値は、前に作成したサービス接続 の名前です。

  1. 各デプロイメントパイプラインで 編集 を選択します。

  2. 展開パイプライン定義の 変数 ボタンを選択すると、この変数エディターが開きます。

  3. 変数を追加するには、(+) を選択します。 変数の名前と適切な値を入力します。

これらの手順を繰り返して、EnvironmentNameServiceConnection の変数を作成します。

EnableFlows 変数の作成 (オプション)

EnableFlows という名前のパイプライン変数の値を False に設定すると、自動的に Power Automate フローを展開の一部として有効にすることができます。 EnableFlows 変数のデフォルト値は True です。

pull request 検証用のブランチ ポリシーの設定

ブランチポリシー を作成して、pull request の作成時に、以前に作成したパイプラインを実行します。

  1. Azure DevOps で、Repos に移動してから、ブランチ フォルダーを選択します。

  2. pull request ポリシーを作成するブランチを見つます。 ブランチの右にある省略記号 (...) を選択して、ブランチ ポリシー を選択します。

  3. ブランチ ポリシー ページで ビルド検証 に移動します。

  4. + を選択し、新しいブランチ ポリシーを追加します。

  5. ビルド パイプライン リストで、以前作成したパイプラインを選択します。

  6. パス フィルター を指定すると、指定されたパス トリガーへの変更のみが pull request のパイプラインをトリガーすることが確実になります。

  7. トリガー自動 に設定する。

  8. ポリシー要件必須 に設定します。

  9. ビルドの有効期限今すぐ に設定します。

  10. ブランチ ポリシーに、たとえば、PR Build Validation のような 表示名 を設定します。

  11. 保存 を選びます。

検証ビルド ポリシーの設定を選択するスクリーンショット。

パイプラインのリソース アクセス許可の設定

パイプラインには、実行するリポジトリ、変数グループ、サービス接続などの必要なリソースへのアクセスが必要です。 アクセスを許可するには、3 つのオプションがあります。

最初の実行時にアクセスを許可する

パイプラインの最初の実行中に、必要なリソースへのアクセスを許可できます。

  1. パイプラインをトリガーし、Azure DevOps で実行されているパイプラインをトリガーします。
  2. "アクセス許可が必要な" バナー上の表示 を選択します。
  3. 必要な各リソースの 許可 を選択します。

明示的な許可を与える

パイプラインに必要なリポジトリにアクセスするための明示的な許可を与えることができます。

  1. Azure DevOps で、プロジェクト設定 を開きます。
  2. リポジトリ を選択してから、リポジトリを選択します。
  3. セキュリティ タブを選択します。
  4. パイプラインのアクセス許可 にスクロールダウンして、+ を選択します。
  5. レポジトリにアクセス許可を与えたいパイプラインを選択します。

パイプラインに必要な変数グループにアクセスするための明示的な許可を与えることができます。

  1. Azure DevOps で、パイプライン>ライブラリ を選択して、変数グループを選択します。
  2. パイプラインのアクセス許可 を選択します。
  3. + を選択して、変数グループへのアクセス許可を与える対象のパイプラインを選択します。

パイプラインに必要なサービス接続にアクセスするための明示的な許可を与えることができます。

  1. Azure DevOps で、プロジェクト設定 を開きます。
  2. サービス接続 を選択し、サービス接続を選択します。
  3. その他の操作 () を選択して、セキュリティ を選択します。
  4. パイプラインのアクセス許可 にスクロールダウンして、+ を選択します。
  5. サービス接続へのアクセス許可を与える対象のパイプラインを選択します。

すべてのパイプラインにアクセスを許可する

現在所有しているパイプラインと今後作成するパイプラインの両方に、必要なリポジトリへのアクセスをすべてのパイプラインに許可できます。

  1. Azure DevOps で、プロジェクト設定 を開きます。
  2. リポジトリ を選択してから、リポジトリを選択します。
  3. セキュリティ タブを選択します。
  4. パイプラインのアクセス許可 にスクロールダウンします。
  5. その他のアクション () を選択して、オープン アクセス を選択してプロンプトされたら確認します。

すべてのパイプラインが必要な変数グループにアクセスできるようにすることができます。

  1. Azure DevOps で、パイプライン>ライブラリ を選択して、変数グループを選択します。
  2. パイプラインのアクセス許可 を選択します。
  3. その他のアクション () を選択して、オープン アクセス を選択してプロンプトされたら確認します。

すべてのパイプラインが必要なサービス接続にアクセスできるようにすることができます。

  1. Azure DevOps で、プロジェクト設定 を開きます。
  2. サービス接続 を選択し、サービス接続を選択します。
  3. その他の操作 () を選択して、セキュリティ を選択します。
  4. サービス接続 を選択して、右上隅にある その他のアクション (...) を選択して、セキュリティ を選択します。
  5. パイプラインのアクセス許可 にスクロールダウンします。
  6. その他のアクション () を選択して、オープン アクセス を選択してプロンプトされたら確認します。

ジョブの承認スコープを設定する

ジョブの承認スコープは、Azure DevOps 組織全体または特定のプロジェクトに対して設定できます。 テンプレートをインストールするために、別の Azure DevOps プロジェクトを選択する場合は、リリース パイプラインの現在のプロジェクトにジョブの承認スコープを制限する設定を無効にします。

すべてのプロジェクトの組織レベルでジョブの承認スコープを設定するには

  1. Azure DevOps で、組織設定 > パイプライン > 設定を選択します。
  2. ジョブの承認スコープをリリース パイプラインの現在のプロジェクトに制限する設定を無効にします。

展開の構成を作成する (オプション)

ソリューションの展開後にターゲット環境で作成する構成がいくつか必要です。 これらの構成は、その環境固有で、キャンバス アプリの共有や Power Automate フローなどのソリューション コンポーネントの所有権の更新に加え、接続参照、環境変数、Microsoft Entra グループと Dataverse チームなどの権限の設定などが含まれます。 これらの構成に加えて、ターゲット環境にはソリューション内の Dataverse テーブルに関連するサンプル データまたは構成データは、完全なエンドツーエンドの ALM エクスペリエンスを提供するためにターゲット環境によく必要とされます。

ソリューションに他の構成やデータが必要な場合は、展開構成ガイドに従い、展開する環境に基づいてパイプラインを構成します。

ソリューションのインポートとアプリの構成

ALM Accelerator キャンバス アプリを Power Platform 環境にインポートし、Azure DevOps に対して付属のカスタム コネクタを構成します。

Dataverse で ALM Accelerator をインストールする

  1. ALM Accelerator ソリューションは Creator Kit に依存します。 クリエイターキットをインストールする 今。

  2. GitHub から最新の管理ソリューション ファイルをダウンロードします。 アセット まで下にスクロールし、CenterofExcellenceALMAccelerator_<最新バージョン>_managed.zip を選択します。。

  3. Power Apps にサインインして、ALM Accelerator アプリをホストするために使用する環境を選択します。

  4. 左側のサイド パネルで、ソリューション を選択します。

  5. ソリューションのインポート>参照する を選択して、その後ダウンロードしたマネージド ソリューションの場所を参照してファイルを選択します。

  6. 次へ を選択して、もう一度 次へ を選択します。

  7. 接続 ページで、CDS DevOps 接続 を Dataverse に接続するために使用する新しい接続を選択または作成します。

    HTTP with Microsoft Entra の接続を作成する場合は、両方のパラメータに Microsoft Graph を使用します。

  8. インポートを選択します。

DevOps カスタム コネクタの構成

  1. データ>カスタム コネクタ>CustomAzureDevOps を選択します。

  2. 編集 を選択します。 セキュリティ ページで 編集 を選択し、次のフィールドを設定します。

    件名 価値
    認証タイプ OAuth 2.0
    アイデンティティプロバイダ Azure Active Directory
    クライアントID アプリ登録を作成した時にコピーした アプリケーション (クライアント) ID
    クライアントシークレット アプリ登録を作成した 時にコピーした アプリケーション (クライアント) シークレットの値
    テナントID 既定値を 一般 のままにします
    リソースURL アプリ登録に権限を追加する ときにコピーした DevOps アプリケーション (クライアント) ID
    リダイレクトURL 自動生成。 リダイレクト URL の下にある [一意のリダイレクト URL にアップデート] チェックボックスに気づいた場合は、チェックボックスにチェックを入れます。
  3. コネクタの更新 を選択します。

"リダイレクト URL" を "リダイレクト URI" として追加する

上部にあるセクションの自動生成された "リダイレクト URI" は、"リダイレクト URI" としてアプリ登録に追加する必要があります。

  1. 作成したアプリ登録に戻る

  2. 左側のサイド パネルで、概要 を選択します。

  3. リダイレクト URI の追加 を選択します。

  4. + プラットフォームの追加 を選択し、Webを選びます。

  5. リダイレクト URI テキストボックスで、上部のセクションからコピーした自動生成された "リダイレクト URI" を貼り付けます。

  6. 構成を選択します。

カスタム コネクタのテスト

  1. テスト メニューを開きます。

  2. 新しい接続 を選択してから、プロンプトに従って接続を作成します。

  3. Power Apps で環境を選択してから、Dataverse>カスタム コネクタ>CustomAzureDevOps を選択します。

  4. 編集 を選択して テスト ページに移動し、GetOrganizations 操作を検索します。

  5. 操作のテストを選択します。

  6. 返された 応答ステータス200応答本文 が Azure DevOps 組織の JSON 表現であることを確認します。

    カスタム Azure DevOps コネクタのテスト セキュリティ設定のスクリーンショット。

作成者を設定して ALM Accelerator アプリを使用する

  • および Dataverse でメーカーのアカウントのユーザー権限を構成します Azure DevOps。

  • 展開ユーザー設定を構成して 、アプリのユーザー エクスペリエンスを設定し、ソリューションと展開プロファイルへのアクセスを許可します。

詳細情報