Azure Bot Service でボットを作成する(C# & VS Code)
はじめに
Azure Bot Service のボット開発を VS Code で行い、GitHubと連携して CI/CD する手順。
前提条件:
- 使用PCは Windows 10
- SDK は C# を選択
- Bot Framework Emulator インストール済
- VS Code インストール済
参考:Bot Framework SDK for .NET を使用したボットの作成 - Bot Service | Microsoft Docs
準備
.NET Core のインストール
.NET Core SDK をダウンロードし、インストールする。Runtimeではなく、SDKが必要。
インストール後、コマンドプロンプトで dotnet --version
を実行し、インストールされていることを確認する。
C:\xxx>dotnet --version
3.1.402
テンプレートのインストール
コマンドプロンプトで、下記3つのうち、必要なものを実行する。
dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBot
dotnet new -i Microsoft.Bot.Framework.CSharp.CoreBot
dotnet new -i Microsoft.Bot.Framework.CSharp.EmptyBot
インストール後の確認は、dotnet new --list
で行える。
C:\xxx>dotnet new --list
(略)
Templates Short Name Language Tags
--------------------------------------------------------------------------------------------------------------------------------------------
Bot Framework Echo Bot (v4.10.3) echobot [C#] Bot/Bot Framework/Echo Bot/Conversational AI/AI
VS Code に C# プラグインを追加
C# 拡張機能をインストールする。これがあれば VS Code でデバッグ&実行できる。
ボットの作成
新しいプロジェクトを作成
コマンドプロンプトで、プロジェクトを作りたいフォルダまで移動する。
cdを使ってもいいが、エクスプローラーで目的のフォルダを開き、アドレス欄に cmd
と入力してエンターキーを押すと早い。
その後、コマンドプロンプトで下記コマンドを実行する。
dotnet new [テンプレートのShort Name] -n [プロジェクト名]
今回は、EchoBotをひな型としてプロジェクトを作成した。しばらく待つと、指定したフォルダにプロジェクトが作成される。
C:\bot>dotnet new echobot -n MyEchoBot
The template "Bot Framework Echo Bot (v4.10.3)" was created successfully.
Processing post-creation actions...
No Primary Outputs to restore.
VS Code で実行する
VS Code でプロジェクトフォルダを開き、メニューの「実行」から「デバッグの開始」または「デバッグなしで実行」をクリック。
はじめての場合は環境を選択するダイアログが開くので、「.NET Core」を選択する。
ビルドが実施され、アプリが実行される。ブラウザで http://localhost:3978/
が開かれると起動完了。
Bot Framework Emulatorで http://localhost:3978/api/messages
を開くとテストできる。
ボットをAzureへデプロイ
ソースコードをGitHubへコミット&プッシュ
GitHubにリポジトリを作成し、ソースコードをコミット&プッシュする。リポジトリはprivateでも可。
Azure で Web App Bot を作成
Azureポータルで「リソースの作成」を選択し、「Web App Bot」を探して「作成」を押す。
ボット作成の画面になるので、必要事項を入力して「作成」を押す。
- ボットハンドル - ボットの名前。おそらくAzure全体で一意でなければいけない。チャンネルに接続するときなどに表示される名前。
- 価格 - F0(無料)推奨。後で変更可能。
- ボットテンプレート - ローカルのソースコードで上書きするのでどれでもいい。言語はC#。
- Application Insights - オンにすると、ボットのログを記録できる。あとで日次データ量の制限をかけておくことを推奨。
しばらく待つとリソースが作成される。
CI/CD の設定
Azureポータルにて、ボット作成時に一緒に作成された App Service の方のリソースを選択し、「デプロイ センター」→「GitHub」をクリックする。
Azure と GitHub の連携が初めての場合、GitHubにログインしてAzureのアクセスを許可する手順がある。
それが完了した後、ビルドプロバイダーを選択するページになるので「GitHub Actions」を選択する。
次に構成を選択するページになるので、下記の通り選択する:
- 組織 - GitHubの組織、またはアカウントを選択する。
- リポジトリ - ボットのソースコードをコミットしたリポジトリを選択する。
- ブランチ - CI/CDの対象になるブランチを指定。通常、mainになるかと思う。
- ランタイムスタック - アプリの言語を指定。今回は「.NET Core」を選択。
- バージョン - ソースコードのバージョンを確認して、選択する。
最後に確認画面になるので、内容を確認して確定する。
確定後、GitHub側にデプロイ実行用のファイルが追加され、Actionが実行される。
Actionが完了すれば、CI/CDの設定とデプロイが完了する。
今後、mainブランチにコミット&プッシュするたびに、デプロイが実行される。
Author And Source
この問題について(Azure Bot Service でボットを作成する(C# & VS Code)), 我々は、より多くの情報をここで見つけました https://qiita.com/vicugna-pacos/items/33e11df996a3f238fdb0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .