コネクタ ライフサイクルの自動化
カスタム コネクタに対してアプリケーション ライフサイクル管理 (ALM) を実装する場合に重要な点は、コネクタ定義を変更し、それらの変更をソース管理システムに記録することができる反復可能なプロセスが用意されていることです。 これらのタスクを手動で実行するためのステップは手動で実行できますが、自動化されたプロセスを使用することで整合性と反復性を確保できます。
これらの自動化の構築をサポートするために、Microsoft では、Azure DevOps 用のビルド タスクと GitHub 用のアクションを用意しています。 これらのツールを使用することで、自動化を構築し、以下の原則をサポートできます。
開発環境は破棄できる - 開発環境は、カスタム コネクタを構築するワークスペースでなければなりません。 信頼できるソースとして依存しないでください。 ソース管理は、最新の公式ソースを格納するために使用してください。 いつでもソース管理から新しい開発環境を作成できます。
ソース管理には最新のソースが含まれている - コネクタ ソリューションの作業バージョンに到達したら、コンテンツをソース管理にチェックインする必要があります。 Azure DevOps、GitHub、または他のお気に入りのソース管理ツールを使用できます。 ラベル付けと分岐は、プロセスとニーズに応じて適切に使用できます。
管理ソリューションを展開する - カスタム コネクタを含むソリューションを非開発環境にインストールした場合、管理ソリューションを展開する必要があります。 管理ソリューションは、開発から直接ではなくソース管理の内容から構築してください。 この方法により、ソース管理には常に、非開発環境に何が展開されているかに関するデータのコピーが格納されます。
Microsoft Power Platform ツールに加えて、使用可能な他の GitHub Actions または Azure DevOps タスクを使用することで、構築およびリリース ワークフローを構成できます。 チームが一般に導入する自動化には、開発環境のプロビジョニング、開発環境からのソース管理へのエクスポート、ビルドの生成、ソリューションのリリースなどがあります。 次の図に、考慮できる自動化の例を示します。
Azure DevOps と GitHub Actions のどちらを使用するかは自由です。 どちらも、Microsoft Power Platform ソリューションのライフサイクルを自動化する同様の機能を提供します。
Azure DevOps
Azure DevOps は、パイプラインの構築とリリースを使用して自動化を実装します。 通常、パイプラインはアーティファクトの構築と準備、およびダウンストリーム環境への展開のリリースに使用されます。 Microsoft Power Platform パイプラインの構築は、ビルド タスクを追加することで視覚的に行います。 次のスクリーンショットは、ビルド タスクを使用するパイプラインの例です。
GitHub
GitHub は、GitHub Actions を使用して同様のワークフローを作成します。 GitHub Action を構築するには、YAML を使用することでタスクを指定する必要があります。 次のスクリーンショットは、ソリューションをエクスポートするワークフローの例を示しています。
一般的なビルド タスク
次の表では、Azure DevOps を使用するか GitHub を使用するかに関係なく、一般的なタスクの一部について説明します。
タスク | 目的 |
---|---|
ソリューションのエクスポート | エクスポートは、開発環境からソリューションのコピーを zip ファイル形式で取得する方法です。 非開発環境にインストールできる管理ソリューションをサポートするためにもエクスポートを使用できます。 |
ソリューションをインポートする | インポートは、ソリューションの zip ファイルを環境にインストールする方法です。 ソリューションが既に環境に存在する場合、既存のソリューションへのアップグレードとして扱われます。 |
ソリューションのアンパック | ソリューションのアンパック タスクは、zip ファイルを取得し、ソース管理への格納に適した個別のファイルに分割します。 |
ソリューションのパック | ソリューションのパック タスクは、ソース管理または任意のフォルダーから個々のファイルを取得し、インポート可能な 1 つの zip ファイルに戻します。 |
各タスクの詳細については、Azure DevOps ビルド タスクの 完全な一覧 を確認してください。
各アクションの詳細については、GitHub Actions の 完全な一覧 を確認してください。
カスタム コネクタおよびソリューション
コネクタのライフサイクルの 1 つの重要な側面は、zip アーカイブの単純なバイナリ アップロードではなく、テキスト形式でコネクタの定義および構成を保存する機能です。 テキスト形式で変更を記録することにより、標準ソース管理の結合プロセスを使用して競合を解決することができるため、チームの効果的なコラボレーションが可能になります。
カスタム コネクタは、Dataverse ソリューションに追加して、環境間で移動できます。 ソリューションは、カスタム コネクタなど、すべてのソリューション コンポーネントを含む zip アーカイブとしてエクスポートされます。 Azure DevOps と GitHub には、カスタム コネクタの定義など、ソリューションを個々のコンポーネントにアンパックできるカスタム ステップが含まれています。 この機能を使用すると、コード コミットを分析および視覚化し、変更を特定して必要に応じて競合を解決するための pull request を送信できます。