4

介绍

Bot Framework Composer允许我设计一个机器人,然后将其部署到 Azure,所有这些都来自 Composer 应用程序。

这很好,但是从开发人员的计算机手动部署不适合包括自动构建、测试和部署到多个环境的策略。

问题

  1. 如何实现自动化部署?(最好来自 Azure DevOps Pipeline)。
  2. 为了能够让多个开发人员在一个 Composer 项目上工作:
    1. 解决方案的哪些部分应该在源代码控制中?(如 Composer 机器人项目、.dotnet 运行时)
    2. 开发人员应该对哪些部分进行更改?
    3. 可以在管道中构建哪些部分?

注意:我不希望任何人提出完整的解决方案。很高兴与 Bot Framework 团队中的某个人以及也希望自动部署其 Composer 机器人的人进行讨论


我做过的研究

  • 我一直在搜索文档以获取有关 CI/CD 的信息,但找不到任何相关信息。
  • 我确实了解了一些关于机器人运行时(由 Composer 生成的 .net 核心项目)位于~/BotFrameworkComposer/hostedBots/xxxxx.xxxxxxxxxxx/runtime/azurewebapp
    • 它包含一个 powershell 脚本 ( /Scripts/deploy.ps1),在自动部署方面看起来很有希望。
    • 使用 Composer 更改 Dialog、用户话语以及创建新 Dialog 时,似乎唯一发生变化的是.dialog.lg.lufiles。我没有看到对 C# 类的任何更改。这将使合并多个开发人员所做的更改变得更加容易。
4

1 回答 1

1

我们可以使用 Azure DevOps CI/CD 管道为 bot composer 实现自动化构建部署。请参阅MS 文档。使用 git 签入机器人代码并与团队协作。

您可以从使用 CI/CD 部署一个空的 Bot 开始。

脚步:

  • 在 Composer 中创建空 Bot 并在 git 中签入 Bot 代码
  • 创建一个具有 2 个独立阶段的部署 yaml 文件。(1. 部署 Bot ARM 基础设施,2. 部署 Bot 代码到 Web App 服务)
  • 使用 ARM 模板预配机器人资源。创建机器人时,生成的源代码包括一个包含 ARM 模板的 DeploymentTemplates 文件夹。获取用于预配机器人资源(机器人通道注册、应用服务计划、Web 应用)所需的 ARM 模板
  • 创建 Bot CI/CD 管道:MS 文档

注意: Bot CI/CD 适用于:Composer v2.x。对于空 Bot 部署,不需要 LUIS 和 QnA。所以可以跳过 templates/buildAndDeployModels.yaml 步骤。

于 2021-11-14T13:42:45.710 回答