Introduction
Bot Framework Composer allows me to design a bot and then deploy it to Azure, all from within the Composer application.
This is great, but manually deploying from a developer's computer is not suitable for a strategy that includes automated builds, testing, and deploying to multiple environments.
Questions
- How to implement automated deployments? (preferably from Azure DevOps Pipeline).
- To be able to have multiple devs work on a single Composer project:
- What parts of solution should be in source control? (like the Composer bot project, .dotnet runtime)
- To what parts should developers make changes?
- What parts can be built in a pipeline?
Note: I don't expect anyone to come up with a complete solution. It would be great to have a discussion with someone from the Bot Framework team, and people that also want to automate the deployment of their Composer bots
Research I've done
- I have been searching the documentation for information about CI/CD, but couldn't find any information on that.
- I did learn some things about the bot's runtime (the .net core project generated by Composer) located at
~/BotFrameworkComposer/hostedBots/xxxxx.xxxxxxxxxxx/runtime/azurewebapp
- It contains a powershell script (
/Scripts/deploy.ps1
) which looks promising in terms of automated deployment. - When using Composer to make changes to a Dialog, user utterances, and when creating new Dialogs, the only things that seem to change are
.dialog
,.lg
, and.lu
files. I don't see any changes to C# classes. This would make it easier to merge changes made by multiple developers.
- It contains a powershell script (