Create a CI/CD pipeline to publish your bot developed in Bot framework composer

BOT framework composer pipeline | Chatbot CI CD pipeline automation | chatbot yaml pipeline

Sanjeevi Subramani's photo
Sanjeevi Subramani

Published on Jul 19, 2021

3 min read

Subscribe to my newsletter and never miss my upcoming articles

Composer developers can create a CI/CD pipeline to easily deploy new versions of their bots. Using Composer, Azure DevOps, and git, developers can seamlessly deliver their software updates.

To create a CI/CD pipeline, you will need:

An Azure DevOps project where you will configure the Azure pipeline An Azure subscription where you will be deploying your bot A git repository with the source for the bot you are trying to deploy An Azure resource group with the following resources provisioned and configured: An Azure App Service plan for your web apps An Azure App Service to deploy your bot An Azure Bot (Optional) A LUIS Authoring and Perdition resource (Optional) A QnA Maker resource The sample YAML files referenced in this article can be found on GitHub.

Configuration steps

Provision your Azure environment

Add YAML files to your bot project source code

Download the YAML files provided and add them to your bot's source code in git under the build folder. Then merge the changes into your main branch.


Configure an Azure Service Connection for your Azure DevOps project

Your pipeline uses a service connection to interact with the resource group where the Azure resources for your bot are located. Create a service connection and note the name in the Pipeline parameters table under the AzureServiceConnection setting.

To configure a Service Connection, go to the Project Settings section in Azure DevOps, and select Service connections, as seen below:


Then select the New Service Connection button and create an Azure Resource Manager resource:


Select Service principal (automatic) and grant it permissions to the Azure resource group where you created your bot resources.


See Service connections in the Azure DevOps documentation for additional information.

Create your pipeline

In your Azure DevOps project pipelines section select new pipeline.

Select your source code provider and repository in the first two tabs and in the Configure steps above. Scroll down to the bottom of the page and select Existing Azure Pipelines YAML file:


Then select the buildAndDeploy.yaml file you previously added to the repository:


In the Review tab, select the Variables button and create the variables with the values defined in the Pipeline parameters table. Make sure you check the Keep this value secret option for sensitive parameters.


Then select Run. This saves and executes your pipeline for the fist time, seen below:


Configure your LUIS prediction resources (first time only)

Depending on your bot, the pipeline will create one or more LUIS apps when you run it for the first time. Once that is done, make sure you set the prediction resource in the Manage section for your LUIS applications:

image.png Here is an example of how the pipeline variables would look in Azure DevOps:


Reference MS Docs:

Refer videos in my channel for live explanations.

Youtube Channel

Share this