こんにちは、ファンリピートの竹村です。
Power Platformで開発を行う際、アプリケーションライフサイクル管理(ALM)を効率化し、迅速な開発と展開を実現したいと思いませんか?
この記事では、Power Platformの強力な機能である「パイプライン」を活用して、継続的インテグレーションと継続的デリバリー(CI/CD)を実現する方法を詳しく解説します。DX推進担当者、業務効率化担当者それぞれの視点から、パイプラインがどのように役立つのか、具体的な設定手順や運用上のベストプラクティスまで、分かりやすく説明していきます。
公式ドキュメント:
[1] Microsoft. “Power Platform でのパイプラインの設定”. https://learn.microsoft.com/ja-jp/power-platform/alm/set-up-pipelines
[2] Microsoft. “Power Platform でパイプラインを実行する”. https://learn.microsoft.com/ja-jp/power-platform/alm/run-pipeline
[3] Microsoft. “Power Platform でパイプラインを拡張する”. https://learn.microsoft.com/ja-jp/power-platform/alm/extend-pipelines
パイプラインとは? – アプリケーション開発を自動化
Power Platformのパイプラインは、アプリケーションの開発から本番環境への展開までを自動化する機能です。CI/CDを実現することで、開発プロセスを効率化し、高品質なアプリケーションを迅速に提供することが可能になります。
パイプラインの主な特徴
- 自動化された展開プロセス
- 環境間の一貫性の確保
- 承認ワークフローの組み込み
- 展開のスケジュール機能
- 展開のモニタリングと監査
DX推進担当者にとってのメリット
パイプラインは、全社システムの刷新や基幹システムとの連携において、開発のスピードと品質を向上させるために不可欠なツールです。複数の開発者や部門が関わる大規模プロジェクトでも、スムーズな連携と迅速な展開を実現できます。
例えば、基幹システムのデータをPower BIで可視化するダッシュボードを開発する場合、パイプラインを活用することで、開発環境での変更を自動的にテスト環境に反映し、検証後に本番環境へ展開することができます。これにより、手作業によるミスを削減し、迅速かつ安全なシステム連携を実現できます。
業務効率化担当者にとってのメリット
日々の業務改善に取り組む中で、Power Platformを活用してアプリケーションを開発する場合、パイプラインは開発プロセスを大幅に効率化し、より多くの時間を本来の業務やスキルアップに充てることができます。
例えば、Power Appsで作成した業務効率化アプリを改善する場合、パイプラインを使用することで、修正内容を自動的にテスト環境に展開し、検証後に本番環境へ反映させることができます。これにより、手作業によるデプロイの手間を省き、迅速に改善を反映させることができます。
CI/CDとは? – 効率的な開発と展開の鍵
CI/CD(Continuous Integration / Continuous Delivery)は、ソフトウェア開発における重要な概念で、アプリケーションの開発から展開までのプロセスを自動化し、効率化するための方法論です。Power Platformのパイプライン機能は、このCI/CDの実現を強力にサポートします。
CI(継続的インテグレーション)
CIは、開発者が頻繁にコードの変更をメインのブランチにマージし、自動的にビルドとテストを行うプラクティスです。
DX推進担当者の視点:
- 全社システムの刷新において、複数の開発者や部門が同時に作業を進める際の整合性確保に有効
- 早期のエラー検出により、大規模プロジェクトのリスク軽減が可能
業務効率化担当者の視点:
- 日々の小さな改善を即座に統合し、効果を確認できる
- チーム内での協働作業がスムーズになり、アイデアの即時実装が可能
例えば、複数の開発者がPower Appsのキャンバスアプリを共同開発する場合、CIによって各開発者の変更が頻繁に統合され、自動テストが実行されるため、早期に競合やエラーを発見し、修正することができます。
CD(継続的デリバリー)
CDは、CIの延長線上にあり、ビルドされたコードを自動的にテスト環境や本番環境にデプロイするプロセスを指します。
DX推進担当者の視点:
- 基幹システムと連携した業務システムの迅速な展開が可能
- 本番環境への影響を最小限に抑えつつ、新機能の迅速な提供が可能
業務効率化担当者の視点:
- 開発したPower AppsやPower Automateのフローを、承認プロセスを経て速やかに本番環境に反映
- ユーザーフィードバックを即座に取り入れ、改善サイクルを加速
例えば、Power Automateで作成した業務自動化フローを本番環境に展開する場合、CDによって承認プロセスを経た後、自動的にデプロイされるため、迅速かつ安全に新機能をリリースすることができます。
CI/CDのメリット
- 開発速度の向上: 自動化により、開発から展開までの時間を大幅に短縮
- 品質の向上: 頻繁な統合とテストにより、早期にバグを発見・修正
- リスクの低減: 小規模な変更を頻繁に行うことで、大規模な失敗のリスクを軽減
- フィードバックの即時反映: ユーザーの声を迅速にアプリケーションに反映可能
- コスト削減: 手動プロセスの自動化により、長期的なコスト削減を実現
パイプラインの設定手順
1. 前提条件の確認
- Microsoft Dataverseを含む開発環境があること
- パイプラインホスト環境に「Power Platform Pipelines」アプリケーションがインストールされていること
- 適切なアクセス権限を持っていること
2. パイプラインの作成と環境の設定
2-1. パイプライン環境の作成とアプリケーションのインストール
Power Platform管理センターにログインし、「環境」>「新規」を選択して、Dataverseデータベースのある新しい環境を作成します。作成した環境に「Power Platform パイプライン」アプリケーションをインストールします。
2-2. 環境レコードの作成と設定
展開パイプライン構成アプリで、パイプラインに参加する環境のレコードを作成します。各環境に適切な「環境タイプ」(開発環境またはターゲット環境)を設定します。
- 環境IDは、PowerPlatform管理センターから確認できます。
- マネージド環境で設定が完了すると、検証の状態が成功になります。
3. パイプラインの構成
3-1. 新規パイプラインの作成
左側のナビゲーションペインで「パイプライン」を選択し、「新規」を選択して新しい展開パイプラインを作成します。
3-2. パイプラインの情報と環境の設定
パイプラインの名前、説明を入力し、リンクする開発環境を選択します。展開ステージを追加し、各ステージの詳細(名前、説明、ターゲット展開環境など)を入力します。
4. セキュリティ設定
パイプラインを実行するユーザーに適切なセキュリティロールを割り当てます。詳しくは、次のセクションで詳しく解説します。
パイプラインのセキュリティ設定 – 安全な運用のための設定
パイプラインの安全な運用のためには、適切なセキュリティ設定が不可欠です。ここでは、パイプラインを実行するユーザーに対する適切なセキュリティロールの割り当てについて詳しく見ていきましょう。
パイプラインのセキュリティロール:
Power Platform パイプラインをインストールすると、以下の2つの重要なセキュリティロールが追加されます:
- Deployment Pipeline User(展開パイプラインユーザー): 共有されているパイプラインを実行する権限を持ちます。
- Deployment Pipeline Administrator(展開パイプライン管理者): パイプラインに関するフルコントロールを持ちます。
セキュリティロールの割り当て方法:
- Power Platform 管理センターにアクセスします (https://admin.powerplatform.microsoft.com/)
- パイプライン用の環境(ホスト環境)を選択します。
- 「設定 > ユーザー + アクセス許可 > セキュリティロール」 に移動します。
- 適切なセキュリティロール(「Deployment Pipeline User」または「Deployment Pipeline Administrator」)を選択します。
- 個別のユーザーまたはセキュリティグループを選択して追加します。
- 変更を保存します。
セキュリティ設定のベストプラクティス:
- 最小権限の原則: ユーザーには必要最小限の権限のみを付与します。
- 役割に基づいた割り当て: ユーザーの役割や責任に基づいて適切なロールを割り当てます。
- 定期的な見直し: セキュリティロールの割り当てを定期的に見直し、必要に応じて調整します。
- 監査ログの活用: パイプラインの操作ログを定期的に確認し、不適切な操作がないか監視します。
- 環境ごとの権限管理: 開発環境、テスト環境、本番環境で異なるセキュリティ設定を行い、本番環境へのアクセスを厳密に管理します。
- セキュリティグループの活用: 個別のユーザーではなく、セキュリティグループにロールを割り当てることで、管理を効率化できます。
パイプラインの実行
ソリューションの展開
- Power AppsまたはPower Automateにサインインし、対象の開発環境を選択します。
- 「ソリューション」に移動し、展開するソリューションを選択します。
- 左のナビゲーションから「パイプライン」を選択します。
- 展開先のステージを選択し、「ここに展開」をクリックします。
- 展開のタイミングを選択し、必要な設定を行います。
- 「展開」をクリックして、展開プロセスを開始します。
- 展開が完了すると、今回のケースでは本番環境にソリューションが追加されます。
パイプラインの拡張性 – 組織のニーズに合わせてカスタマイズ
パイプラインは組織特有のニーズに合わせてカスタマイズすることができます。例えば:
- 承認プロセスの追加: 特定のユーザーによる承認プロセスを組み込むことで、より厳格なリリース管理を実現できます。例えば、本番環境へのデプロイ前に、管理者による承認を必須とするフローを作成できます。
- サービスプリンシパルを介したデプロイ: サービスプリンシパルを利用することで、自動化されたデプロイプロセスをよりセキュアに実行できます。
- Azure DevOpsやGitHubなどの外部システムとの統合: 外部のバージョン管理システムと連携することで、より高度なCI/CDパイプラインを構築できます。例えば、GitHub Actionsと連携して、コードの変更をトリガーにパイプラインを自動実行するようなワークフローを作成できます。
これらの拡張は、Power Automateのクラウドフローを使用して実装できます。
運用のベストプラクティス – パイプラインを効果的に運用するために
パイプラインを効果的に運用するためのベストプラクティスをいくつか紹介します:
- 適切な権限管理: パイプラインを実行できるユーザーを適切に制限することで、セキュリティリスクを低減できます。例えば、開発環境のパイプラインは開発者のみが実行できるようにし、本番環境のパイプラインは管理者のみが実行できるように設定することで、誤操作による本番環境への影響を防ぐことができます。
- 環境の適切な分離: 開発、テスト、本番環境を明確に分離し、各環境の目的を明確にすることで、安定した運用を実現できます。
- 定期的なバックアップと監視: 定期的にソリューションのバックアップを取り、パイプラインの実行状況を監視することで、問題発生時の迅速な対応が可能になります。例えば、毎日夜間にソリューションのバックアップを自動的に取得するフローを作成し、パイプラインの実行ログを定期的に確認することで、問題の早期発見に繋げることができます。
CI/CDの実現 – Power Platformで本格的なCI/CDを
パイプライン機能を活用することで、Power Platformでも本格的なCI/CDを実現できます。開発者は自分の環境で作業し、変更をコミットすると自動的にテスト環境にデプロイされ、承認後に本番環境へと展開されるという流れを作ることができます。
これにより、開発サイクルが短縮され、品質管理が向上し、最終的にはビジネス価値の迅速な提供につながります。
まとめ – Power Platform パイプラインで開発を加速させよう!
Power Platformのパイプライン機能は、従来のプロフェッショナル開発者だけでなく、市民開発者(Citizen Developers)にも高度なALMプラクティスを提供します。この機能を活用することで、組織はより効率的に、そして安全にPower Platformソリューションを管理・展開できるようになります。
この記事で紹介した設定手順やベストプラクティスを参考に、ぜひ自分のプロジェクトでパイプライン機能を試してみてください。開発プロセスが大きく改善されるはずです!
参考文献
[1] Microsoft. “Power Platform でのパイプラインの設定”. https://learn.microsoft.com/ja-jp/power-platform/alm/set-up-pipelines
[2] Microsoft. “Power Platform でパイプラインを実行する”. https://learn.microsoft.com/ja-jp/power-platform/alm/run-pipeline
[3] Microsoft. “Power Platform でパイプラインを拡張する”. https://learn.microsoft.com/ja-jp/power-platform/alm/extend-pipelines