方法: コード アプリのアプリケーション ライフサイクル管理 (ALM)

アプリケーション ライフサイクル管理 (ALM) は、初期計画から開発、展開、および継続的なメンテナンスまで、アプリケーションのライフサイクルを管理するプロセスです。 コード アプリの ALM は、Power Platform 全体で使用されるのと同じ原則に基づいて構築され、カスタム コードがソリューションの一部であるシナリオに拡張されます。

コード アプリの場合、ALM は次のことを保証します:

  • 環境間の一貫性: アプリを開発から運用環境にシームレスに移動します。
  • ガバナンスとコンプライアンス: 組織の標準とセキュリティ ポリシーを適用します。
  • 予測可能なデプロイ: リスクを軽減し、信頼性を向上させます。

前提条件

  • 初期化された Power Apps コード アプリ。 「クイック スタート: Power Apps CLI を使用してコード アプリを作成する」を参照してください。
  • Power Apps CLI がインストールされています。 最新バージョンがあることを確認します。
  • ソリューションにアプリを追加するには、Dataverse を使用する Power Platform 環境。 Dataverse を使用しない環境では、ソリューションなしでアプリが発行されます。

ソリューションに公開

Power Apps CLI では、pa app pushの実行時に、Dataverse ソリューション内にアプリを自動的に配置できます。

ソリューションにアプリを配置すると、標準の ALM を使用して環境間で移植できます。 ある環境からソリューションをエクスポートして別の環境にインポートすると、アプリは一緒に移動します。

次のようにすることができます。

  • 最初の発行時に CLI でソリューションを自動的に選択します。
  • 発行時にその ID で特定のソリューションをターゲットにします。
  • Dataverse のない環境に発行します。 アプリはソリューションなしで公開されます。

この動作は、コマンドを対話形式で実行する場合でも CI/CD パイプラインで実行する場合でも同じです。

ソリューションの自動選択を使用して発行する

コード アプリ プロジェクトのルートからコマンドを実行します。

pa app push

CLI は、使用するソリューションを示すか、ソリューションを使用せずにアプリを公開する理由を説明します。

特定のソリューションに公開する

--solution-id オプションを使用して、特定のソリューションをターゲットにします。

pa app push --solution-id <solution-id>
オプション エイリアス 必須 Description
--solution-id -s 不要 アプリを追加するソリューションの ID (GUID)。 SOLUTION_ID環境変数で設定することもできます。 このオプションを省略すると、CLI によってソリューションが自動的に選択されます。

ソリューション ID を検索するには:

  1. Power Apps に移動します。

  2. ソリューションを開き、ソリューションを選択します。

  3. URL からソリューション ID をコピーします。

    https://make.powerapps.com/environments/<environment-id>/solutions/<solution-id>/overview

ソリューションの自動選択のしくみ

--solution-idを省略した場合、CLI の動作は、これがアプリの最初の発行であるか、以降の発行であるかによって異なります。

初回公開

環境にアプリが存在しない場合、CLI は次の順序でターゲット ソリューションを解決します。

  1. 推奨ソリューション: 環境で Dataverse が有効になっている場合、CLI は推奨ソリューションを使用します。 明示的に設定しない場合、Dataverse は Common Data Service の既定のソリューションを使用します。

    Tip

    予測可能な ALM の場合は、環境 に適したソリューションを設定 します。 最初に発行するたびに、 --solution-idを必要とせずに、予想されるソリューションにコード アプリを追加します。

  2. 既定のソリューション: 使用できる推奨ソリューションがない場合、CLI では、すべてのコンポーネントの既定のソリューションが使用されます。

  3. 解決策なし: Dataverse が有効になっていないか、ソリューションを解決できない場合、ソリューションなしでアプリが発行されます。

その後の公開

アプリが既に存在する場合:

  • --solution-idなし: CLI では、アプリの既存のソリューション メンバーシップは変更されません。
  • --solution-id: CLI によって、そのソリューションにアプリが追加されます。 発行時に既存のアプリを別のソリューションに追加できます。

特定のソリューションを明示的にターゲットにする

--solution-idの受け渡しは、自動選択よりも優先されます。

pa app push --solution-id <solution-id>

CLI は、アップロードする前にソリューション ID を検証します。

問題 結果
値が GUID ではありません このコマンドは停止し、ソリューション ID が無効であることを報告します。
ソリューションが環境に存在しない このコマンドは停止し、ソリューションが見つからないことを報告します。
環境に Dataverse がない このコマンドは停止し、 --solution-idせずに再度発行するように指示します。

Power Appsでソリューションに追加する

pa app pushを使用して既にコード アプリを環境に発行している場合は、Power Appsのソリューションに追加します。

  1. Power Apps に移動します。
  2. [ソリューション] に移動します。
  3. ソリューションを選択します。
  4. [ Add existing>App>Code app ] を選択し、追加するアプリを選択します。

CI/CD でソリューション ターゲットを使用する

ビルド パイプラインからソリューションをターゲットにするには、 SOLUTION_ID 環境変数を設定します。

SOLUTION_ID=<solution-id> pa app push

この動作は決定論的で非インターアクティブであり、ローカル発行と同じです。

パイプラインを使用したデプロイ

ソリューションにアプリを追加したら、Power Platform Pipelines を使用して、依存関係、接続参照などのプレフライト チェックを使用して、ステージ (Dev → Test → Prod) 間でデプロイします。

Power Platform でパイプラインを使用する方法について説明します

コード アプリで接続参照を使用する

接続参照の詳細については、「 接続参照を使用してデータ ソースを追加する」を参照してください

制限事項

現時点での、コードアプリについて:

  • ソリューションを明示的にターゲットにする場合は、ソリューション ID (GUID) が必要です。 ソリューション名は受け入れられません。
  • ソース コードの統合 をサポートしていません。