Copilot Studioを会社で使う前に⑥|作ったエージェントを別の環境へ移す(ソリューションとALM)

CopilotStudio
作ったエージェントを、別の環境へ届けるところまで実機で確認しました。
開発環境で作り、ソリューションに入れて出し、テスト環境に入れる、という流れです。
本番のエージェントを直接さわらずに更新する、企業での基本形にあたります。
操作した画面をすべて順番に載せているので、この記事だけで同じ移送を再現できます。

①〜⑤で、作る場所・公開の仕方・配る範囲・費用・読ませるデータを決めました。
運用に入ると、次に出てくるのが更新のたびにどうやって本番へ反映するかです。

本番のエージェントを直接編集すると、失敗したときに戻せません。
そこで開発環境で直し、まとめて運ぶ形にします。
この仕組みがソリューションです。

用語ALM(アプリケーション ライフサイクル管理):作ったものを、開発 → テスト → 本番と段階を追って届け、更新し続けるための進め方。
ここでは「本番を直接さわらずに更新する仕組み」と読み替えて構いません。
用語ソリューション:移したいものをまとめて入れる箱。
エージェントやフロー、テーブルなどをこの箱に入れて、環境から環境へ運びます。
この記事の道のり
① いまの入れ物を確認する → ② 移送用のソリューションを作る → ③ エージェントを入れる → ④ エクスポートする → ⑤ 移送先を用意する → ⑥ インポートして確認する
▲ 開発で作り、zipにして出し、テストへ入れる。本番を直接さわらないのが基本形

 

いまここ

1いまの入れ物を確認
2ソリューションを作る
3エージェントを入れる
4エクスポートする
5移送先を用意する
6インポートして確認

① いまの入れ物を確認する

この節ですること

作ったエージェントが、いまどこに入っているのかを見ます。
終わるとこうなる

そのままでは他の環境へ移せない、という理由が分かります。

1エージェントが入っているソリューションを見る

  1. Copilot Studio で対象の環境を開く
  2. エージェントを開き、右上の「…」をクリック
  3. 「ソリューションを表示する」を選ぶ
用語既定のソリューション:環境ごとに最初から用意されている作業場。
作ったものは自動でここに入りますが、この箱ごと持ち出すことはできません。
実際の画面
▲ 既定のソリューション。エージェント1件とトピック14件が自動で入っている

入っていたのは Common Data Services Default Solution、いわゆる既定のソリューションでした。
エージェントを作ると自動でここに入ります。

なぜそうするか既定のソリューションは、その環境の作業場のようなものでエクスポートの対象にならない。
移送するには、自分でソリューションを作って入れ直す必要がある。
ALMの出発点がここになる。

 

作ったエージェントは既定のソリューションに入っていて、そのままだと別の環境へ運べません。
まずここを確認するのが出発点でした。
いまここ

1✓ いまの入れ物を確認
2ソリューションを作る
3エージェントを入れる
4エクスポートする
5移送先を用意する
6インポートして確認

② 移送用のソリューションを作る

この節ですること

移送用のソリューションと、独自の発行元を新しく作ります。
終わるとこうなる

まとめて運べる箱ができます。

2新しいソリューションを作る

  1. ソリューションの一覧に戻る
  2. 「+ 新しいソリューション」をクリック
  3. 表示名を入れる(ここでは「コパスタ45」)
  4. 発行元を選ぶ
実際の画面
▲ 新しいソリューションのパネル。表示名・名前・発行元・バージョンを決める

ここで判断が要るのが発行元です。
発行元は接頭辞を持っていて、そのソリューションで作った部品の内部名に付きます。

用語発行元(パブリッシャー)と接頭辞:そのソリューションで作った部品の内部名に付く、作り手を示す名札。
接頭辞は cs45_ のような数文字で、あとから変更できません。
実際の画面
▲ 発行元も新規に作れる。表示名・名前・接頭辞(ここでは cs45)を入れる
なぜそうするか接頭辞はあとから変更できない。
既定の発行元だと `cr3ab_` のような自動生成の文字列が付く。
企業では自社を示す接頭辞を最初に決めて、全社で統一しておく。
実際の画面
▲ 作成直後。中身は0件で、ここに運びたいものを入れていく

 

発行元の接頭辞は後から変えられないので、ここだけは最初に決めておくのがよかったです。
私は独自の発行元を作って、社内で分かる名前にしました。
いまここ

1✓ いまの入れ物を確認
2✓ ソリューションを作る
3エージェントを入れる
4エクスポートする
5移送先を用意する
6インポートして確認

③ エージェントを入れる

この節ですること

作ったソリューションに、既存のエージェントを入れます。
終わるとこうなる

運ぶ中身が決まります。

3既存のエージェントを追加する

  1. コマンドバーの「既存を追加」をクリック
  2. 「エージェント」を選ぶ
  3. 対象のエージェントにチェックを入れて「追加」
用語Dataverse:Power Platform の共通データ保管庫。
エージェントもソリューションもここに保存されるため、Dataverse がない環境では扱えません。
実際の画面
▲ 「既存のエージェントを追加する」。説明に「Dataverse にも追加されます」と出る
なぜそうするか新しく作るのではなく参照を追加する。
実体は1つで、それを箱に入れて運ぶ形になる。
説明文にあるとおり Dataverse に載るので、①で Dataverse を入れておいた環境である必要がある。
実際の画面
▲ 一覧に戻ると、コパスタ45(公開元=コパスタ45/バージョン 1.0.0.0)が並ぶ

 

いまここ

1✓ いまの入れ物を確認
2✓ ソリューションを作る
3✓ エージェントを入れる
4エクスポートする
5移送先を用意する
6インポートして確認

④ エクスポートする

この節ですること

先に公開してからエクスポートし、zipファイルを受け取ります。
終わるとこうなる

持ち運べるファイルが手元にできます。

4エクスポートを開始する

  1. ソリューションの行の「⋮」から「エクスポート」を選ぶ
  2. 「エクスポート前」の画面で「公開」をクリックする
  3. 公開が終わったら「次へ」
実際の画面
▲ エクスポート前。未公開の変更を反映する導線と、パイプラインでの展開の案内が出る
用語公開(パブリッシュ):編集した内容を、実際に動く状態へ反映する操作。
下書きのままでは利用者にも移送先にも届きません。
先に公開するPower Platform は編集内容をいったん下書きとして持ちます。
公開していない変更はエクスポートに含まれません。
移送先で「作ったはずのものが無い」となる原因がこれです。
用語パイプライン:ファイルを介さずに、環境から環境へ直接配る仕組み。
承認や履歴も残せるため、企業で展開を回すときの本命になります。

この画面にはパイプラインで展開するという選択肢も出ていました。
ファイルを介さずに環境へ直接コピーする仕組みで、企業で展開を自動化するときの本命です。
今回は基本形を通すため、ファイルのエクスポートとインポートで進めます。

5マネージドを選ぶ

  1. バージョン番号を確認する(自動で上がる)
  2. 「次としてエクスポート」で マネージド を選ぶ
  3. 「エクスポート」をクリックする
実際の画面
▲ バージョンは 1.0.0.0 → 1.0.0.1 に自動更新。マネージドが推奨として選ばれている
用語マネージド/アンマネージド:移送するときの2つの形式。
マネージドは移送先で編集できない完成品、アンマネージドは編集できる素材と考えると分かりやすいです。
▲ マネージドとアンマネージドの違い。用途が分かれている
なぜそうするか今回の目的は「開発で作ったものを別の環境へ配る」こと。
マネージドで出すと移送先では直接編集できず、本番で勝手に直される事故を防げる。
別の開発環境へ渡す場合やGitに入れる場合はアンマネージドを選ぶ。

画面下には「エクスポート時にソリューション チェッカーを実行する」もあり、既定でチェックが入っています。
③で見たマネージド環境の「ソリューション チェッカー強制」と同じ検査です。

実際の画面
▲ 「ソリューション 「コパスタ45 1.0.0.1」 が正常にエクスポートされました」

※ ダウンロードを取り逃さない

エクスポートは「処理 → 完了通知 → ダウンロード」の3段階です。
完了の通知を閉じるとファイルを取り逃すことがあります。
その場合はもう一度エクスポートすれば、バージョンが上がった状態で出し直せます。

 

エクスポートは処理→完了通知→ダウンロードの3段階で、通知を閉じると取り逃します。
私は一度閉じてしまって、やり直しました。
いまここ

1✓ いまの入れ物を確認
2✓ ソリューションを作る
3✓ エージェントを入れる
4✓ エクスポートする
5移送先を用意する
6インポートして確認

⑤ 移送先を用意する

この節ですること

移送先になるテスト環境を用意します。
終わるとこうなる

受け入れ先が整います。

移送先の環境を作ります。
手順は①と同じで、種類=開発者、地域=アジア太平洋、名前は `CopilotStudio45 テスト` にしました。

実際の画面
▲ 作成直後。Dataverse 列が「いいえ」のままだと、この環境にはインポートできない

作成時に Dataverse を有効にしていなかったため、あとから追加します。
環境の詳細ページに「Dataverse を追加」の導線がありました。

実際の画面
▲ あとからでも Dataverse は追加できる。言語・通貨を決めて「追加」
元に戻せない選択があるこのパネルの「Dynamics 365 アプリを有効にしますか?」には「この決定は元に戻せません」と明記されています。
Copilot Studio のエージェントを移すだけなら「いいえ」で構いませんが、企業では先に方針を決めておく項目です。
実際の画面
▲ 数分後。Dataverse=はい、状態=準備完了になれば移送先として使える
なぜそうするかソリューションは Dataverse に取り込まれる。
①で「Dataverseがないと Copilot Studio が使えない」と分かったが、移送先にも同じ条件が要る。
作成時に有効にしておくほうが手戻りがない。

 

いまここ

1✓ いまの入れ物を確認
2✓ ソリューションを作る
3✓ エージェントを入れる
4✓ エクスポートする
5✓ 移送先を用意する
6インポートして確認

⑥ インポートして確認する

この節ですること

zipをインポートして、届いたかどうかを確認します。
終わるとこうなる

開発からテストへの1往復が通り、ALMの形ができます。

6テスト環境にインポートする

  1. 環境をテスト環境に切り替える
  2. ソリューションの一覧を開く
  3. 「ソリューションをインポート」をクリック
  4. 「参照」でダウンロードした zip を選び、「次へ」→「インポート」
実際の画面
▲ インポート前のテスト環境。ソリューションは既定の2つだけ
実際の画面
▲ ファイルを選んだ状態。名前に managed が入っているのがマネージドで出した証拠
実際の画面
▲ 「ソリューション 「コパスタ45」 を正常にインポートしました」。一覧にも追加された

一覧のコパスタ45は、バージョン 1.0.0.1、マネージド=はい、公開元=コパスタ45 と表示されていました。
開発環境で出したものが、そのまま届いています。

※ 絞り込みに注意

ソリューション一覧の既定の絞り込みは「アンマネージド」です。
マネージドで入れたものは、この表示のままでは出てきません。
「マネージド」または「すべて」に切り替えて確認します。

7エージェントが届いたことを確認する

  1. 左のメニューから「エージェント」を開く
  2. 一覧に対象のエージェントが出ているか見る
  3. 「保護の状態」の列を確認する
実際の画面
▲ テスト環境のエージェント一覧。DLPテスト用が届き、保護の状態は「保護済み」
マネージドで運んだ結果が、「保護済み」という列の表示になって現れました。
この環境では直接編集できない状態です。
直したいときは開発環境で直し、もう一度出して入れる。
この往復が、本番を守りながら更新する形になります。

 

届いたエージェントは「保護済み」になっていて、そのままでは編集できません。
運ぶ側と直す側は別、と分けて考えると混乱しにくいです。
ここまで完了

1✓ いまの入れ物を確認
2✓ ソリューションを作る
3✓ エージェントを入れる
4✓ エクスポートする
5✓ 移送先を用意する
6✓ インポートして確認

⑦ 作業前に押さえておく仕様

  • エージェントは既定のソリューションに入る:そのままでは移送できない
  • 発行元の接頭辞は変更できない:最初に自社の接頭辞を決めておく
  • 公開していない変更は含まれない:エクスポート前に「公開」を実行する
  • バージョンは自動で上がる:1.0.0.0 → 1.0.0.1 のように管理される
  • 移送先にも Dataverse が要る:あとから追加もできる
  • 一覧の既定はアンマネージド表示:入れたものが見えないときは絞り込みを切り替える
  • ソリューションは Power Platform 共通の仕組み:Power Apps 側の画面からも同じものが見える

 

ここまで完了

1✓ いまの入れ物を確認
2✓ ソリューションを作る
3✓ エージェントを入れる
4✓ エクスポートする
5✓ 移送先を用意する
6✓ インポートして確認

まとめ

  • ① 移送には、自分で作ったソリューションが要る
  • ② 発行元と接頭辞は最初に決める。
    あとから変えられない
  • ③ エクスポート前に公開する
  • ④ テスト・本番へ配るならマネージド、開発間の受け渡しならアンマネージド
  • ⑤ 移送先にも Dataverse が必要
  • ⑥ 届いたエージェントは「保護済み」になり、そこでは直接編集できない

6本を通して触ったのは、環境・公開・共有・費用・データ・更新の6か所でした。
どれも設定そのものは短時間で終わります。
企業で時間がかかるのは、これらを誰がどう決めるかを合意するほうです。
実物の画面を見せながら話すと、その合意が早く進みます。

※ 本記事は公開日時点の情報をもとに、筆者が実際に試した内容を整理しました。
Copilot Studio と Power Platform 管理センターは更新が続いており、画面や名称、既定値は変わることがあります。
最新の状況は公式情報(Microsoft Learn)もあわせてご確認ください。

※ 掲載している画面は、操作中に撮りました。
氏名・メールアドレス・環境IDなどは伏せています。
構成や図解の一部は、AI と壁打ちしながら作成しています。

\ 最新情報をチェック /

💌

最新のPower Automate Tipsを毎日チェック

1枚スライドで関数・概念をわかりやすく解説しています。

𝅧 @isamu_Automate をフォロー →
⚡

PA45 — 45分でPower Automateを一緒に学ぼう

毎週木曜夜・オンライン・無料のハンズオン講座。初心者歓迎。

次回PA45に参加する →

コメント

PAGE TOP