アプリケーション ライフサイクル管理 (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 を検索するには:
Power Apps に移動します。
ソリューションを開き、ソリューションを選択します。
URL からソリューション ID をコピーします。
https://make.powerapps.com/environments/<environment-id>/solutions/<solution-id>/overview
ソリューションの自動選択のしくみ
--solution-idを省略した場合、CLI の動作は、これがアプリの最初の発行であるか、以降の発行であるかによって異なります。
初回公開
環境にアプリが存在しない場合、CLI は次の順序でターゲット ソリューションを解決します。
推奨ソリューション: 環境で Dataverse が有効になっている場合、CLI は推奨ソリューションを使用します。 明示的に設定しない場合、Dataverse は Common Data Service の既定のソリューションを使用します。
Tip
予測可能な ALM の場合は、環境 に適したソリューションを設定 します。 最初に発行するたびに、
--solution-idを必要とせずに、予想されるソリューションにコード アプリを追加します。既定のソリューション: 使用できる推奨ソリューションがない場合、CLI では、すべてのコンポーネントの既定のソリューションが使用されます。
解決策なし: 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のソリューションに追加します。
- Power Apps に移動します。
- [ソリューション] に移動します。
- ソリューションを選択します。
- [ 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) が必要です。 ソリューション名は受け入れられません。
- ソース コードの統合 をサポートしていません。