【问题标题】:Development lifecycle of a Composer botComposer 机器人的开发生命周期
【发布时间】:2020-11-12 00:44:07
【问题描述】:

简介

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

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

问题

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

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


我所做的研究

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

【问题讨论】:

标签: botframework bot-framework-composer


【解决方案1】:

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

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

步骤:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 2014-09-10
    相关资源
    最近更新 更多