| title | description | keywords | author | ms.author | manager | ms.topic | ms.service | ms.date | monikerRange |
|---|---|---|---|---|---|---|---|---|---|
Deploy your bot - Bot Service |
Learn how to deploy bots to the Azure cloud. See how to prepare bots for deployment, deploy the code to the Azure Web App, and test bots in Web Chat. |
deploy bot, azure deploy bot, publish bot |
ivorb |
kamrani |
kamrani |
conceptual |
bot-service |
06/09/2020 |
azure-bot-service-4.0 |
[!INCLUDE applies-to-v4]
In this article we will show you how to deploy a basic bot to Azure. We will explain how to prepare your bot for deployment, deploy your bot to Azure, and test your bot in Web Chat. It would be useful to read this article before following the steps, so that you fully understand what is involved in deploying a bot.
Important
Make sure you are using the latest version of the Azure CLI. If you are using an Azure CLI version older than 2.2.0, you will encounter errors of CLI commands deprecation. Also, do not mix Azure CLI deployment shown in this article with Azure portal deployment.
[!INCLUDE deploy prerequisite]
[!INCLUDE deploy prepare intro]
[!INCLUDE deploy az login]
[!INCLUDE deploy az subscription]
[!INCLUDE deploy create app registration]
When creating the bot application service, you can deploy your bot in a new or in an existing resource group, both via the Azure Resource Manager (ARM) template. An ARM template is a JSON file that declaratively defines one or more Azure resources and that defines dependencies between the deployed resources. Make sure that you have the correct path to your bot project ARM deployment templates directory DeploymentTemplates, you need it to assign the value to the template file. Choose the option that works best for you:
- Deploy via ARM template with new resource group
- Deploy via ARM template with existing resource group
Important
Python bots cannot be deployed to a resource group that contains Windows services/bots. Multiple Python bots can be deployed to the same resource group, but create other services (LUIS, QnA, etc.) in another resource group.
[!INCLUDE ARM with new resource group]
[!INCLUDE ARM with existing resource group]
[!INCLUDE retrieve or create IIS/Kudu files]
[!INCLUDE zip up code]
[!INCLUDE deploy code to Azure]
[!INCLUDE test in web chat]
Deploying your bot to Azure will involve paying for the services you use. The billing and cost management article helps you understand Azure billing, monitor usage and costs, and manage your account and subscriptions.
[!div class="nextstepaction"] Set up continuous deployment