まくろぐ

チャットボット (2-3) Azure の Web App Bot リソースにボットをデプロイする

更新:
作成:
ここでは、Azure 上に作成した Web App Bot リソース(ボットサービス)に、自分のボットプログラムをデプロイする方法を説明します。

まず前提として、下記の手順により、Azure 上に Web App Bot リソースが作成済みであることとします。 ここに、ローカルで作成したボットをデプロイすることになります。

Web ブラウザでデプロイする方法(KUDU の Zip Deploy UI)

プロジェクトのファイルを ZIP ファイルとしてアーカイブし、Zip Deploy UI という Web ページにドラッグ&ドロップでデプロイする方法です。 この Web サイトには、下記のような URL でアクセスできます。 <app_name> の部分は、自分のボットアプリ名に置き換えてください。

https://<app_name>.scm.azurewebsites.net/ZipDeployUI
/p/gxm9shf/deploy-bot-kudu.png
図: Web App Bot の Zip Deploy UI

左上に表示されるロゴからも分かるように、Azure の Web App サービスでは、Kudu というデプロイエンジンが使われているようですね。

この /wwwroot ディレクトリの内容が表示されている画面で、エクスプローラ領域に ZIP ファイルをドラッグ&ドロップすると、ZIP ファイル内のファイルがまとめて /wwwroot にアップロードされます。

/p/gxm9shf/deploy-bot-kudu2.png
図: ZIP ファイルのドラッグ&ドロップでデプロイ

ボットプログラムのエントリポイントとなる bot.js ファイルを編集してから ZIP 化し、デプロイすることで、ボットの動作が変わることを確認できると思います。

ZIP アーカイブ作成時の注意

ZIP ファイルの中身が展開された状態でデプロイされるので、ZIP の展開後に余計なディレクトリ階層ができないように ZIP アーカイブを作成してください。 具体的には、プロジェクトのディレクトリを ZIP 化するのではなく、プロジェクトのディレクトリ内のファイル群を ZIP 化します。 コマンドラインから ZIP アーカイブを作成するには、プロジェクトのルートディレクトリから下記のようにします。

Bash の場合
zip -r <file-name>.zip .
PowerShell の場合
Compress-Archive -Path * -DestinationPath <file-name>.zip

Windows であれば、プロジェクトのディレクトリで Ctrl + A でファイルを全選択し、右クリックから 送る圧縮(zip形式)フォルダー とするのが手っ取り早いかもしれません。

ちなみに、上記のサイトで、ファイル名の横にある編集アイコン(鉛筆マーク)をクリックすると、Web サイト上でソースコードを直接編集することができます。 ここでチョチョイとコードを変更すれば、直ちにボットの応答に反映されます。

関連記事

まくろぐ
サイトマップまくへのメッセージ