Microsoft Power Platform CLI (コマンド ライン インターフェイス) は、開発者とアプリ作成者がコード コンポーネントを作成できるようにする、シンプルなシングルストップ開発者コマンド ライン インターフェイスです。
Microsoft Power Platform CLI ツールは、包括的なアプリケーション ライフサイクル管理 (ALM) ストーリーへの最初のステップであり、企業の開発者や ISV は、迅速かつ効率的に拡張機能やカスタマイズを作成、構築、デバッグ、公開することができます。 詳細については、Microsoft Power Platform CLI とはを参照してください
この機能により、Microsoft Power Platform CLI は、Power Pages サイト構成の CI/CD (継続的統合/継続的展開) を可能にします。 Microsoft Power Platform CLI を使用して、Web サイトの構成をソース管理にチェックインし、任意の環境に移動できるようになりました。
Note
- この機能は、Power Platform CLI バージョン1.9.8 以降で一般提供されました。 最新バージョンのインストールについては、Microsoft Power Platform CLI のインストールを参照してください。
- Power Platform CLI バージョン 1.32 では、pac powerpages コマンドが pac ページに変更されました。 pac cli バージョン 1.27 では、pac paportal コマンドが pac powerpages に変更されました。 powerpage と paportal はどちらも引き続き機能しますが、今後はページを使用することをお勧めします。
Web サイト開発に Microsoft Power Platform CLI を使用する理由は何ですか?
Microsoft Power Platform CLI を使用すると、Web サイトのコンテンツに変更を加えることで、Web サイトのカスタマイズにオフライン同様の機能を使用できるようになりました。 そして、すべてのカスタマイズや変更が保存されたら、Web サイトの構成を Microsoft Dataverse にアップロードして戻すことができます。 Microsoft Power Platform CLI を使用して Web サイトのコンテンツをダウンロードすると、コンテンツは YAML と HTML 形式で構造化されるため、カスタマイズが容易になり、プロフェッショナルな開発が可能になります。
Microsoft Power Platform CLI のサポートによってポータルがメリットを受ける機能のリストを次に示します。
使いやすさ
ローカル ファイル システムから/への Web サイト構成データのダウンロード/アップロードをサポートします
既存の Microsoft Power Platform CLI ツールに構築します。
アプリケーション ライフサイクル管理 (ALM)
組織内の Web サイト構成への変更を追跡します
組織またはテナント間で構成ファイルを移動します
プロ開発およびエンタープライズ サポート
「git」などのソース管理ツールとシームレスに統合できます
CI/CD パイプラインを簡単に設定できます
Microsoft Power Platform CLI のインストール
詳細な手順については、Microsoft Power Platform CLI のインストールを参照してください。
サポートするテーブル
Microsoft Power Platform CLI のポータルのサポートは、以下の表に限定されます。
adx_ad
adx_adplacement
adx_blog
adx_blogpost
adx_botconsumer
adx_communityforum
adx_communityforumaccesspermission
adx_contentsnippet
adx_entityform
adx_entityformmetadata
adx_entitylist
adx_entitypermission
adx_forumthreadtype
adx_pagetemplate
adx_poll
adx_polloption
adx_pollplacement
adx_portallanguage
adx_publishingstate
adx_redirect
adx_shortcut
adx_sitemarker
adx_sitesetting
adx_tag
adx_urlhistory
adx_webfile
adx_webform
adx_webformmetadata
adx_webformstep
adx_weblink
adx_weblinkset
adx_webpage
adx_webpageaccesscontrolrule
adx_webrole
adx_website
adx_websiteaccess
adx_websitebinding (ダウンロードのみ)
adx_websitelanguage
adx_webtemplate
コメント
重要
- カスタム テーブルとポータル テンプレート固有のテーブル (ブログ、コミュニティ、アイデア ポータルなど) は、Microsoft Power Platform CLI を使用したカスタマイズではサポートされていません。
- 広告 (adx_ad) レコードへの画像ファイルの添付ファイルは、Power Platform CLI を使用してダウンロードされません。 回避策として、画像の URL フィールドを使うか、コピー フィールドの HTML 参照を、画像ファイルを含む Web ファイル レコードに追加することがあります。
ポータルの Microsoft Power Platform CLI をインストールして検証する
Microsoft Power Platform CLI のインストールについて学習するには、Microsoft Power Platform CLI のインストール にアクセスしてください。
Microsoft Power Platform CLI をインストール後、コマンド プロンプトを開き、pac を実行して、出力に Power Apps ポータルのコマンド「paportal」が含まれていることを確認します。
ポータルの Microsoft Power Platform CLI コマンド
ポータルの Microsoft Power Platform CLI コマンドは paportal です。
次のセクションでは、"paportal" コマンドの異なるプロパティの詳細を提供します。
Parameters
| プロパティ名 | Description | 例 |
|---|---|---|
| list | 現在の Dataverse 環境のすべてのポータル Web サイトを一覧表示します。 -v パラメーターを追加して、サイトが標準または 拡張データ モデル を使用しているかどうかを示すことができます |
pac pages list |
| download | 現在の Dataverse 環境からポータル Web サイトのコンテンツをダウンロードします。 次のパラメーターがあります: - path: Web サイトのコンテンツを保存するパス (エイリアス: -p) - webSiteId: ダウンロードするポータル Web サイト ID (エイリアス: -id) - overwrite: (オプション) 既存のコンテンツを上書きする場合は true、フォルダーにすでに Web サイトのコンテンツがある場合に失敗する場合は false (エイリアス: -o) - modelVersion: ダウンロードするサイト データが標準 (1) または 1 (2) を使用しているかどうかを示す2または。 |
pac pages download --path "C:\portals" --webSiteId f88b70cc-580b-4f1a-87c3-41debefeb902 --modelVersion 2 |
| upload | 現在の Dataverse 環境にポータル Web サイトのコンテンツをアップロードします。 次のパラメーターがあります: - path: Web サイトのコンテンツを保存するパス (エイリアス: -p) - deploymentProfile: deployment-profiles/[profile-name].deployment.yaml ファイルのプロファイル変数を使用して定義された環境の詳細を含むポータル データをアップロードする - modelVersion: アップロードするサイト データが標準 (1) または 1 (2) を使用しているかどうかを示す2または。- forceUploadAll: すべての ローカル ファイルを環境にプッシュします。 リモート状態が壊れている、同期していない、または最後のダウンロードが別のブランチから来たと思われる場合に使用します。 |
pac pages upload --path "C:\portals\starter-portal" --deploymentProfile "profile-name" --modelVersion 2 |
Note
- 環境 A からポータルをダウンロードして環境 B にアップロードすると、PAC CLI は完全アップロードを実行します。 この動作は、変更の追跡では、環境間で状態情報を保持しない マニフェスト ファイルが使用されるために発生します。
- 差分アップロード (変更されたファイルのみがアップロードされる) は、ダウンロード操作とアップロード操作の両方が 同じ環境内で行われる場合にのみサポートされます。 この場合、PAC CLI はローカルの変更を検出し、更新されたファイルのみをアップロードします。 変更の追跡のしくみの詳細については、「 マニフェスト ファイル」を参照してください。
- このような場合は 、--forceUploadAll を使用します。 (このパラメーターは現在 CLI 専用です。Azure DevOps タスクはまだ表示されません)。
- パイプライン状態のドリフト (コミットのリベースやチェリーピックを行ったため、最終的なサーバーの状態がブランチと一致しなくなりました)。
-
差分エラーの可能性 があります (たとえば、通常の
uploadの後に部分的な変更のみが表示されます)。
デプロイ プロファイルを使用する
deploymentProfile スイッチを使用すると、環境の変数のセットを YAML 形式で定義できます。 たとえば、プロファイルで定義されたさまざまなスキーマの詳細を持つ、異なる展開プロファイル (dev、test、prod など) を持つことができます。
テスト プロファイルを作成している場合は、deployment-profiles の下で、"test.deployment.yml" (つまり、<profileTag>.deployment.yml) を使用してファイルを作成できます。 タグ (<profileTag>) でコマンドを実行して、このプロファイルを使用できます:
pac pages upload --path "C:\portals\starter-portal" --deploymentProfile test --modelVersion 2
このファイルでは、deploymentProfile パラメータを使用してポータル構成をアップロードする間、テーブル ID、属性リストおよびオーバーライドしたい値を使用してテーブル (エンティティ) 名を持つことができます。
さらに、OS 変数を使用して、オペレーティング システムの環境変数にアクセスできます。
一意のスキーマ詳細を持つ "test.deployment.yml" プロファイル YAML ファイルの例を次に示します。
adx_sitesetting:
- adx_sitesettingid: 4ad86900-b5d7-43ac-1234-482529724970
adx_value: ${OS.FacebookAppId}
adx_name: Authentication/OpenAuth/Facebook/AppId
- adx_sitesettingid: 5ad86900-b5d7-43ac-8359-482529724979
adx_value: contoso_sample
adx_name: Authentication/OpenAuth/Facebook/Secret
adx_contentsnippet:
- adx_contentsnippetid: b0a1bc03-0df1-4688-86e8-c67b34476510
adx_name: PowerBI/contoso/sales
adx_value: https://powerbi.com/group/contoso/sales
注意
ポータルに加えて CLI で使用されるすべてのコマンドについて学習するには、Microsoft Power Platform CLI の一般的なコマンドにアクセスしてください。
マニフェスト ファイル
pac pages download CLI コマンドを使用して Web サイト コンテンツをダウンロードすると、サイト コンテンツのダウンロードと共に、2 つのマニフェスト ファイルも生成されます。
- 環境マニフェスト ファイル (org-url-manifest.yml)
- 追跡マニフェスト ファイル (manifest.yml) を削除します
環境マニフェスト ファイル (org-url-manifest.yml)
pac pages ダウンロード コマンドが実行されるたびに、環境マニフェスト ファイルが生成されます。
ダウンロードのたびに、PAC CLI ツールは既存の環境マニフェストファイルを読み込み、環境内で削除されたエントリーを更新し、環境マニフェストファイルが存在しない場合は作成します。
pac pages upload コマンドを実行してポータル Web サイトのコンテンツをアップロードする場合。 環境マニフェストファイルを読み込んで、前回のダウンロード以降の変更点を特定し、更新されたコンテンツのみをアップロードします。 これは、アップロード コマンドごとにすべてのコンテンツをアップロードするのではなく、更新されたウェブサイトのコンテンツのみをアップロードすることで、アップロード処理を最適化する際に役立ちます。
環境マニフェスト ファイルは、同じ環境 (環境 URL がファイル名と一致する) に接続するときは読み取り専用になり、誤って変更されることを防ぎます。
Note
- 環境マニフェスト ファイルは、Web サイトを別の環境にデプロイするときに変更を追跡するようには設計されていません。
- 環境マニフェスト ファイルは、開発者が開発者環境でローカルにデプロイするために使用するように設計されており、git 無視リストに追加する必要があります。
追跡マニフェスト ファイル (manifest.yml) を削除します
このファイルは、環境から削除されたレコードを追跡するために使用されます。
pac pages download コマンドを使用して Web サイトコンテンツをダウンロードすると、環境マニフェスト ファイル (org-url-manifest.yml) から削除されたレコードがmanifest.ymlファイルに追加されます。 したがって、 pac pages upload コマンドを使用して Web サイトのコンテンツをアップロードすると、(別の環境であっても) 環境からファイルが削除されます。 このファイルは削除されず、接続している環境に関係なく使用されます。 このファイルは、ターゲット環境で項目を削除することを検討するために、変更をソース管理にプッシュするときに考慮する必要があります。
Note
PAC CLI を使用して、ある環境のサイト コンテンツ レコードを削除し、別の環境で同じコンテンツ レコードを削除するには、Web サイト レコード コンテンツの削除の前後にpac pages ダウンロード コマンドを実行する必要があります。 manifest.ymlは、 pac pages upload コマンドの実行時に、これらの変更を追跡し、ターゲット環境の対応するレコードを削除します。
Visual Studio Code の拡張機能を使用する
また、VS Code 拡張機能 Power Platform VS Code Extension を使用して、インテリセンス、コード補完アシスト、IntelliSense に搭載した Liquid 言語の恩恵を受け、VS Code Integrated Terminal を使用して Microsoft Power Platform CLI と対話することができます。 詳細: Visual Studio Code 拡張機能を使用する (プレビュー)
その他の考慮事項
- ファイル パスがパスの最大長の制限を超えると、エラーが報告されます。 詳細: Windows での最大パス長の制限
- Web ページ名の重複のような重複レコードの場合、Microsoft Power Platform CLI は、2 つの異なるフォルダを作成します。1つは Web ページ名で、もう 1 つは同じ名前の先頭にハッシュコードを付けたものです。 たとえば、「マイページ」や「マイページ ハッシュコード」。
次の手順
チュートリアル: ポータルで Microsoft Power Platform CLI を使用する