Power AppやPower Automateを含むローコード分野の需要はどんどん高まってきていますよね。
弊社でもPower Apps・Power Automateを支援しておりますので、お気軽にお問い合わせください。
さて、Power AppsやPower Automateでアプリを作成する際、開発と本番環境を分けて運用したいという要望を多く伺いいます。
2つの環境を分けることで、開発環境での対応が本番に影響を与えないため、開発者としてのメリットが大きいのではないでしょうか。
(実際にシステム開発を行う際には、従来から環境を分離することが一般的です。)
そこで、今回はPower Platformにおける開発と本番環境を用いた開発手法について紹介します。
前回のブログでは、開発手法の概念や必要なライセンスについて説明しました。
第2回の今回は、開発と本番環境を用いたアプリ開発手法について、実際にサンプルを作成しながら説明いたします。
構成図
今回は、以下の構成にてアプリ・フローを作成します。
Power AppsとPower Automateを準備し、それぞれが特定のSPOリストに紐づいている構成です。
構築手順
環境を用いた開発手法開発と本番環境を用いたアプリ構築の流れとしては以下となります。
- 環境を作成(開発環境・本番環境)
- SPOサイト・SPOリストを作成(開発環境・本番環境)
- ソリューションを作成(開発環境)
- 環境変数を作成(開発環境)
- アプリ・フローを作成し、環境変数を紐づけ(開発環境)
- 環境変数の値を削除(開発環境)
- ソリューションをマネージドソリューションとしてエクスポート(開発環境)
- 本番環境へインポート(本番環境)
それぞれについて以下で説明いたします。
環境を作成(開発環境・本番環境)
はじめに、開発環境と本番環境を作成します。
手順としては、Power Platformの管理センター→環境→新規から新しい環境を作成します。
環境を作成する際のポイントとしては、以下です。
- 種類:
作成する環境の種類です。詳細は前回のブログをご参照ください。
Power Apps・Power Automate:開発と本番環境を用いたアプリ構築手法(1) 概念・ライセンス編
今回は開発環境ではサンドボックス、本番環境では実稼働を選択しました。 - Dataverse データストアを追加しますか:
ソリューションを作成するには、環境内にDataverseが必要となりますので、「はい」を選択します。 - セキュリティ グループ
環境にアクセスできるユーザーを制限するため、グループを選択します。
(今回はテストのため「なし」を選択していますが、なしの場合には全ユーザーがアクセス可能となりますので、実際には非推奨です。 適切なグループを選択してください。)
SPOサイト・SPOリストを作成(開発環境・本番環境)
続いて、SPOサイト・SPOリストを各環境で作成します。
SPOサイトやリストはPower Platformの範囲外のため、ソリューションでエクスポート・インポートすることができません。
よって、それぞれの環境で事前に作成する必要があります。
※注意※
両方の環境で作成するSPOリストについては、全く同じ構成(外部名や内部名も一致させる必要があります)としてください。
SPOリストを作成する際に、一度開発環境でリストを作成し、本番環境では既存のリストからを選択すると、外部名や内部名が一致したリストを作成することも可能です。
ソリューションを作成(開発環境)
Power Apps→対象の環境(Env_Dev)→ソリューションを選択してください。
※環境の変更を行う場合は、Power Appsの右上から選択可能です。
ソリューションを作成する際には、公開元を選択する必要があります。
公開元は、このソリューションを作成したユーザーを判別するために必要な内容となります。
適切な公開元を設定してください。
また、ソリューションはアンマネージドとして作成されます。
環境変数を作成(開発環境)
続いて、ソリューション内に環境変数を作成します。
ソリューション(SampleSolution)→新規→環境変数から環境変数を作成します。
今回は、SPOサイト・SPOリストの2つの環境変数を作成します。
アプリ・フローを作成し、環境変数を紐づけ(開発環境)
次に、Power Apps・Power Automateにてアプリ・フローを作成します。
ソリューション(SampleSolution→新規→アプリ→キャンバスアプリ or モデル駆動型アプリからアプリを作成します。
(※今回はキャンバスアプリを作成します。)
また、ソリューション(SampleSolution)→新規→自動化→クラウドフロー→自動 or すぐに or スケジュール済みからフローを作成します。
(※今回は自動フローを作成します。)
ポイントとしてはアプリ・フロー内でSPOと連携する際に、先程作成した環境変数を紐付けることです。
Power Apps の場合
Power Appsでは、データ→データの追加→「データソースの選択」でSharePointを選択→詳細設定→環境変数(EnvVal_SPOSite)→詳細設定→環境変数(EnvVal_SPOList)から紐づけできます。
Power Automate の場合
Power Automateでは、SPOサイトの選択→カスタム値の入力→環境変数(EnvVal_SPOSite) or 環境変数(EnvVal_SPOList)から紐づけできます。
ソリューション内には既存を追加というメニューがあります。
本メニューから、本環境内かつ本ソリューション外で作成されたアプリやフローなどを追加できます。
ソリューションを作成する前に作成したアプリやフローなどを追加する際に使用してください。
ただし、注意点としてすべてのリソースを追加できる訳では無いということを覚えておいていただければと思います。
詳細については、以下URLをご参照ください。
既知の制限
(既存を追加できない場合は、諦めてソリューション内で新規作成するしかないようです。。。 )
環境変数の値を削除(開発環境)
上記までの手順で、ソリューション・アプリ・フローなどの作成が完了しました。
続いて、本番環境へ作成物を移行するため、ソリューションをエクスポートしたいところですが、
その前に環境変数の値を削除する必要があります。
(忘れがちな内容ですが、環境変数の値を削除しないと本番環境で新しい値を設定できないため、必ず実施してください。)
ソリューション(SampleSolution)→環境変数(EnvVal_SPOSite・EnvVal_SPOList)→このソリューションから削除を選択します。
ソリューションをマネージドソリューションとしてエクスポート(開発環境)
それでは準備が整いましたので、開発環境からソリューションをエクスポートします。
ソリューション一覧→ソリューション(SampleSolution)を選択→ソリューションをエクスポート→マネージドを選択し、ソリューションをエクスポートしてください。
エクスポートが完了すると、zipファイルのダウンロードができるようになります。
ポイントしては、エクスポートする際にマネージドを選択することです。 本番環境では、意図せずにアプリの編集が行われることを防止するため、マネージドにてソリューションをエクスポートします。
本番環境へインポート(本番環境)
最後に本番環境へソリューションをインポートします。
Power Apps→対象の環境(Env_Prod)→ソリューションをインポート→先程エクスポートしたzipファイルを選択してください。
接続情報や環境変数を設定する画面が表示されますので、それぞれ適切な値を設定してください。
※接続というのは、Power Automateで用いる接続情報に関する設定値のことです。
ソリューション内ではつながり参照という名称にて管理されています。
以上で終了です。
開発環境と本番環境で、Power AppsやPower Automateと紐づいているSPOが異なっていることが分かると思います。
おわりに
今回は、開発と本番環境を用いたアプリ開発について、実際にサンプルを作成しながら説明しました。
Power AppsやPower Automateでアプリを作成する際、開発と本番環境を分けることで、開発環境での対応が本番に影響を与えないため、開発者としてのメリットが大きいと思います。
ぜひ皆さんもお試しください!
さて、次回はPower Platform パイプラインについて説明します。
最後まで読んでいただき、ありがとうございました!
【こちらも合わせて読みたい】
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200
こんにちは。アーティサン株式会社の小刀稱(ことね)です。