前回のブログでは、ローコード開発のためのCI/CDを簡素化するツールであるPower Platformパイプラインを紹介した。しかし、デプロイのニーズが基本を超えるとどうなるでしょうか?複雑なソリューションを管理するチームにとって、Power Platformパイプラインの制限が障害になる可能性があります。そこで登場するのが、Microsoft Power Platform Build Tools for Azure DevOpsです。これらのツールは、バージョン管理、マルチ環境テスト、カスタマイズ可能なリリースワークフローなどの高度な機能を提供し、開発者と企業が同様にCI/CDプロセスを拡張できるようにします。これらのツールがどのように機能し、なぜ堅牢な Power Platform 開発に不可欠なのかを探ってみましょう。
Microsoft Power Platform Build Toolsは、Azure DevOpsと直接統合されており、チームは基本的な自動化を超えた、より包括的なCI/CDパイプラインを実装することができます。これらのツールを使用することで、バージョン管理統合、マルチ環境テスト、企業のニーズに合わせた詳細なリリースワークフローなどの高度な機能を組み合わせることができます。このブログでは、これらのツールがどのように機能し、ローコード開発にどのような利点をもたらすのか、そして組織が Power Platform 上で CI/CD に対する堅牢かつ柔軟なアプローチを実現するためにどのように役立つのかを探ります。
Thomas Goldberger氏とGurpreet Bhadesh氏は、「Let's Talk DevOps」ビデオトークショーで、Power Platform向けの高度なAzure DevOpsパイプラインを探求しています!
Microsoft Power Platformビルドツールの前提条件
Microsoft Power Platform Build Toolsのコンポーネントを使用してAzure DevOpsでCI/CDパイプラインを構築する前に、いくつかの設定が必要です。ここではその概要を説明します:
Azureポータル
- Azure AD アプリの登録
- Azure Portal で Microsoft Entra ID -> App registrations -> +New registration -> Supported account types を選択します:この組織ディレクトリのアカウントのみ -> 登録 -> アプリケーションとテナント ID をメモする - APIパーミッションの追加
- Azureでアプリを選択 -> API権限 -> 権限の追加 -> 組織が使用するAPI -> Dataverse -> 権限の委譲 -> 権限の追加 -> user_impersonation - クライアントシークレットの生成
- 証明書と秘密 -> +新しいクライアント秘密 -> 秘密の値をメモする
Power Appsポータル
- Dataverse で Azure AD App 登録を指すシステムユーザーを作成する。
- Power Platform の管理センターで、Settings -> Users + permissions -> Users -> Application users -> +New app user -> +Add an app -> Azure AD app list から作成したアプリを選択 -> Add -> Business unit -> Security roles で System Administrator を選択 -> Create をクリックします。
Azure DevOps
- Azure DevOpsパイプラインの作成
- Azure DevOpsで[Project settings] -> [Pipelines] -> [Service connections] -> [New service connection] -> 検索して[Power Platform]を選択 -> 前回の設定からサービス接続の詳細を入力 -> [Save
Power Platformビルドツール
- Power Platform Build Toolsエクステンションをインストールします。
- 拡張機能を参照 -> Azure DevOps組織を選択->インストールをクリック
前提条件のステップが完了したら、パイプラインの構築を開始し、CI/CDパイプラインを自動化するためにさまざまなコンポーネントを使用することができます。エンドツーエンドのCI/CDパイプラインを作成するために使用したコンポーネントのいくつかを調べることから始めます。
Azure DevOpsパイプラインで使用するコンポーネント
前提条件が満たされたら、CI/CDパイプラインを構築するには、いくつかの主要なコンポーネントを使用する必要があります。それぞれがプロセスの自動化と合理化において重要な役割を果たします:
- Power Platform ツールインストーラ
Power Platform Tool Installerは基本的に、必要なPower Platform CLIツールが最新バージョンでインストールされていることを確認する基礎的なタスクです。そのため、パイプラインでそれ以降のコンポーネントやタスクを実行する前に必要となります。
- ソリューションバージョンの設定
Azure DevOps for Power Platform Build Tools でソリューションのバージョンを設定することは、首尾一貫した構造化されたリリースプロセスを維持するために非常に重要です。ソリューションのバージョン番号は、通常「major.minor.patch」の形式で、ソリューションの各リリースの一意の識別子として機能し、増分変更、パッチ、およびメジャーアップデートの追跡に役立ちます。CI/CD パイプラインでこのバージョンを自動的に更新することで、各デプロイメントに最新バージョンが反映され、混乱を減らし、開発者とユーザーの両方がリリースとバージョン番号を明確に区別できるようになります。
Azure DevOpsでソリューションのバージョニングプロセスを自動化することで、開発チームは手動ステップを追加することなく、バージョン管理のベストプラクティスを実装できます。Power Platformビルドツールを活用することで、チームはパイプラインの一部としてソリューションのバージョンを指定することができ、必要に応じて特定の環境(テスト、ステージング、本番環境など)のバージョン番号を簡単に変更することができます。これにより、企業はバージョン管理ポリシーを実施し、監査、ロールバックシナリオ、コンプライアンス要件に不可欠なアプリケーションライフサイクル全体のトレーサビリティを維持することができます。
- パワー・プラットフォーム・チェッカー
Power Platform Checkerは、Power Platformソリューションのベストプラクティス、コード品質、Microsoftの推奨基準への準拠を分析する自動品質管理ツールです。CI/CD パイプラインで使用する場合、チェッカーはカスタムコード、ワークフロー、エンティティのカスタマイズなどのコンポーネントを評価し、パフォーマンス、セキュリティ、保守性に影響を与える可能性のある潜在的な問題を特定します。このチェッカーをビルドプロセスやデプロイメントプロセスの一部として組み込むことで、開発ライフサイクルの早い段階で問題を特定し、テスト環境や本番環境に移行する前に、各ソリューションが品質基準に準拠していることを確認することができます。これにより、手作業によるコードレビューが削減され、欠陥のあるコンフィギュレーションをデプロイするリスクが低減されます。
さらに、Power Platform Checker は、非効率なクエリ、非推奨のコード、最適化されていないワークフローなど、特定の改善領域を強調する詳細なレポートを提供します。これらのレポートにより問題が可視化されるため、開発者は本番環境で問題が発生する前に対処することができます。このような品質管理への積極的なアプローチにより、さまざまな環境におけるソリューションの高水準が保証され、最終的にユーザー・エクスペリエンスの安定性と信頼性が向上します。
- ソリューションのエクスポート
Azure DevOpsのExport Solution機能により、開発者はPower Platform環境から最新バージョンのソリューションを取得し、パッケージ化することができます。ソリューションがエクスポートされると、そのソリューション内のすべてのコンポーネント、カスタマイズ、および構成が、ダウンロード可能な .zip ファイルに収集されます。このエクスポートプロセスは、開発環境に存在するソリューションの特定のバージョンを取得し、各カスタマイズや追加が含まれていることを確認するために必要です。Azure DevOpsでエクスポートステップを自動化することで、チームはソリューションの取得を標準化し、開発ワークフローのシームレスな一部とすることができます。
ソリューションをエクスポートすることで、異なる環境間での一貫性が保証されます。ソリューションがエクスポートされ、アーティファクトとして保存されると、テスト環境、ステージング環境、本番環境などの他の環境に直接デプロイできます。このように、環境間の不一致のリスクを最小限に抑えながら、アプリケーション・ライフサイクルを通じてソリューションを移動するための、信頼性が高く追跡可能な方法を提供します。さらに、エクスポート・プロセスをDevOpsパイプラインに組み込むことで、チームはソリューション変更の明確なバージョン履歴を確立でき、トラブルシューティング、ロールバック、監査コンプライアンスに役立ちます。エクスポート・プロセスの自動化により品質管理が強化され、開発でテストされたものが本番でも確実に実行されるようになります。
- カスタマイズの発行
パッケージをフィードに発行」機能により、チームはソリューションパッケージを集中フィードにアップロードし、組織内の他のパイプラインやプロジェクトから簡単にアクセスできるようになります。そうすることで、チームは、デプロイ準備が整ったソリューションのバージョン付きコピーを保存し、さらなるテスト、ステージング、または本番デプロイのために、ソリューションの特定のバージョンに一貫してアクセスできるようになります。この一元化により、誤ったバージョンをデプロイするリスクが軽減され、環境間で使用されるソリューション・パッケージの信頼性、テスト、検証が確実になります。こうして、すべてのリリースが追跡され、将来のデプロイに利用できる、バージョン管理への標準化されたアプローチが強化されます。
アクセシビリティの向上に加え、よりスムーズなコラボレーションと開発プロセスをサポートします。チームは、フィードからソリューション・パッケージの特定のバージョンを取得するだけで、開発者やテスターが独立して作業できるようになります。これは、複数のチームが複雑なソリューションに取り組んでいる組織にとって、ソリューションとその依存関係を管理するための組織的で管理された環境を提供するため、特に価値があります。さらに、パッケージの保管にフィードを利用することで、組織は各リリースの追跡可能な記録を得ることができ、監査やコンプライアンス、必要な場合の効率的なロールバックに役立ちます。
パイプラインの構築
前提条件を設定し、コンポーネントを理解した後、Azure DevOpsパイプラインのハイレベルな構成を見てみよう:
図1: ハイレベルのパイプライン構成
ハイレベルのパイプライン構成は、3つの主要な領域に分かれています。各エリアについて詳しく説明し、私たちが開発したAzureパイプライン内のプロセスを説明します。
パラメータ
最初の領域はパラメータで、パイプラインの先頭で参照される傾向があり、パイプラインのどこでも参照できます。パラメータは事実上、関数内で使用される変数であり、関数への入力として指定されるデータの一部を指します。まず、パラメータを配置することから始めます。下の画像からわかるように、1つはバージョン番号で、もう1つはソリューションをデプロイする環境です。
図2: パイプライン内のパラメータ
パイプラインタスク
2つ目の領域はパイプラインタスクで、パイプライン内の正しさと論理的な流れを保証するために、特定の順序で実行する必要があります。下の図からわかるように、アーティファクトのアップロードは、Power Platformのパイプラインの欠点の多くを解決するため、パイプラインの重要なステップです。この段階は、Power Platform Tool Installerをインストールすることから始まります。これは基本的に、必要なPower Platform CLIツールが最新バージョンでインストールされていることを確認する基礎作業です。次のステップは、前のステージで定義されたソリューションのバージョン番号を設定することです。これが完了すると、ソリューションをエクスポートすることができます。こうして、Power Platform Export Solutionタスクが実行され、Power Platform Checkerが続きます。
図 3: パイプラインコンポーネント
これでパッケージが作成され、Artifactsにアップロードされます。最終段階は、このパッケージをどの環境にプッシュするかを決定することです。
図 4: アーティファクトのアップロード
環境
最後の3つ目の領域は、ソリューションをデプロイする環境です。これは、パイプラインの最初に定義したパラメータを参照して います 。
図5: 環境へのパブリッシュ
まとめ
Microsoft Power Platform Build Tools for Azure DevOpsは、ローコード開発環境に合わせたCI/CDパイプラインを実装するための構造化された堅牢なアプローチを提供します。Power Platform Tool Installer、ソリューションのバージョニング、エクスポートソリューション、Power Platform Checker、Publish to Feed などのコンポーネントを利用することで、企業はアプリケーションライフサイクル管理の効率性、信頼性、拡張性を高めることができます。
これらのコンポーネントにより、ソリューションのパッケージング、バージョン管理、品質チェックの自動化が可能になり、ソリューションが徹底的にテストされ、バージョン管理され、導入準備が整っていることが保証されます。これにより、手作業を減らし、ワークフローを合理化し、ヒューマンエラーの可能性を最小限に抑えることができます。
Power Platform Build Tools は、大規模で複雑な開発環境において重要なコラボレーションとトレーサビリティをさらにサポートします。各コンポーネントが連動して動作するパイプラインは、明確なバージョン履歴、追跡可能な成果物管理、品質評価を提示し、安定したスケーラブルなソリューションのデプロイプロセスを促進します。
ローコードの採用が進むにつれ、堅牢なCI/CDプラクティスに対する需要は高まる一方です。Microsoft Power Platform Build Tools は、ローコード/ノーコードアプリケーションの要求を満たす、包括的でカスタマイズ可能な CI/CD ソリューションを提供し、市民開発者と企業チームの両方が、開発から本番稼動までの全過程において、ソリューションを効果的に管理できるようにします。
2025年5月22日にミュンヘンで開催されるInternational Software Quality Daysで 、当社のDevOpsエキスパートであるThomasとGurpreetが、ローコード/ノーコード開発のためのCI/CDについて深く掘り下げたライブセッションを行います!