1

我们目前正在运行 BizTalk 2013(非 R2),并使用 BTDF 执行所有部署。虽然我们希望迁移到 BizTalk 2016,但希望首先迁移到 Azure devops(和 git),我已经开始研究如何使用管道执行这些部署,但发现自己有点迷失了,所以只是看对于任何人可能有的任何建议/指导。

目前的比赛状态是这样的:

  • 在 devops 中使用最新的 Visual Studio 版本(2019)进行 CI 构建
  • 安装在 devops 中的 BizTalk BTDF 部署框架

我已经开始创建一个管道来执行部署,但不完全确定最好的方法。我已经阅读了几篇文章,似乎有两种不同的方法:

我对这两种方法的想法是,方法 1 缺少诸如 msi 删除之类的东西,我不确定您将如何区分集群的 2 个节点以进行部署,因此,一直在追求方法 2,因为它似乎提供了完整的部署每个环境都需要。我目前遇到的问题是让 MSBuild 正常工作。我将它指向 btdf 项目,但由于BizTalkDeploymentFramework.targets 未找到而失败。. 查看 MSBuild 步骤的设置,您可以指定 msbuild 的位置,但问题在于 btdf 目标文件。

我的 MSBuild 配置

总而言之,我有点被管道难住了,因为我似乎没有太多可用的配置,但也许我只是错过了一些东西。任何建议将不胜感激。

谢谢。

4

1 回答 1

1

这对于 Azure DevOps 来说有点棘手,因为它通常执行无代理部署。您可以通过在 BizTalk 服务器上安装 Azure DevOps 代理来简化设置,但有时由于安全或其他限制,这是不可能的。(Octopus Deploy 是一种更灵活、更简单的产品,可用于 BizTalk——我认为大多数情况——部署。)

您将需要一个构建过程,首先构建 BizTalk 应用解决方案,然后构建 BTDF MSI。听起来你有这个工作。构建工件应包含 BTDF MSI。

如果 BizTalk 服务器上没有代理,则需要设置和使用 PowerShell 远程处理。这里的脚本是一个很好的资源,但一定要查看评论。如果 BizTalk 服务器上确实有代理,则可以考虑使用Azure DevOps 扩展。

您不需要在 BizTalk 服务器上安装 BTDF,除非您使用的是 BTDF ESB Toolkit 解析器。

您的错误似乎表明您缺少一些 MSBuild 参数,或者可能试图在安装了 BTDF MSI 的实际 BizTalk 服务器之外的服务器上运行 MSBuild。

请务必查看 BTDF 文档中的“通过脚本部署应用程序”主题。

于 2021-04-14T05:22:27.343 回答