前回の記事では Azure DevOps を使ってビルドパイプラインを作りました。今回は開発したボットをリリースする先となる Azure リソースを見ていきます。
Azure Bot Services
BotBuilder SDK を使った開発したボットは、Azure Bot Services に接続する型で公開します。
Azure Bot Services については Azure Bot Service : サービスの概要と初めての Web App Bot 作成 を参照してください。
ボットチャンネル登録と App Service
本番環境でボットを展開する場合、少なくとも「テスト環境」と「本番環境」が必要となります。この場合の検討事項を以下に示します。
- ボットクライアントは「ボットチャネル登録」経由でボットと接続される
- ボットチャネル登録に設定できる「メッセージングエンドポイント」は 1 つだけ
- 各環境の切り替えは瞬時に行える必要がある
- ロールバックを視野に入れる
上記を考えた場合の最小構成が以下の様になります。
- 1 つの App Service を複数スロットで運用
- ボットチャネル登録は環境数分用意
環境の構築
1. https://portal.azure.com より Azure ポータルに接続し、新しいリソースグループを作成。
2. まず本番用に、リソースの追加より「Web App Bot」を作成。
3. ユニークな名前を設定し、ボットテンプレートから C# の Echo Bot を選択。他は任意の設定で「作成」をクリック。
4. 同じ手順でテスト用の「Web App Bot」も作成。
5. 初めに作った本番用の App Service を開く。
6.「デプロイ スロット」より「スロットの追加」をクリック。
9.「構成」をクリック。MicrosoftAppId と MicrosoftAppPassword があることを確認。¥
10. 新しいタブで、別に作成したテスト用 App Service に接続。
12. MicrosoftAppId と MicrosoftAppPassword の値をコピー。
13. 追加したスロット側の構成にペースト。slotSetting と true に変更して保存。これによりスロットスワップ時に構成情報が入れ替わらない。
15. テスト用の「ボットチャネル登録」を開き、設定より「メッセージングエンドポイント」を更新。
16. テスト用の「Web App Bot」を作成した際に登録された App Service と App Plan を削除。
これで 2 つのスロットを持った App Service 1 つと、それぞれのスロットをポイントしている「ボットチャネル登録」2 が完成です。
まとめ
今回はリリース先となるリソースを Azure 上に作成しました。次回はリリースパイプラインを作ります。