【问题标题】:Azure devops release pipeline to deploy BizTalk application using BTDFAzure devops 发布管道以使用 BTDF 部署 BizTalk 应用程序
【发布时间】:2021-07-08 10:21:21
【问题描述】:

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

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

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

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

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

My MSBuild config

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

谢谢。

【问题讨论】:

  • 只是出于好奇(与您的问题无关) - 您为什么不迁移到 BizTalk 2020?
  • 一个好问题。由于对 BTDF 的严重依赖,我们一直专注于 2016 年,尽管考虑到获得批准所需的时间(3 年),也许我们应该重新评估。
  • 感谢@Filburt 的轻推,很容易陷入最初的目标。 BTDF 现在支持它的目标是到 2020 年。只需要查看 Visual Studio 的 add in
  • 不幸的是 VS 插件还不支持 VS 2019,但是有人发布了解决方法here

标签: azure-pipelines devops biztalk btdf


【解决方案1】:

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

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

如果 BizTalk 服务器上没有代理,则需要设置和使用 PowerShell 远程处理。脚本here 是一个很好的资源,但请务必查看 cmets。如果您在 BizTalk 服务器上确实有代理,则可以查看使用 this Azure DevOps 扩展。

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

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

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

【讨论】:

  • 所以看起来的绊脚石是让 BTDF 构建工作(我正在努力理解)我已经在原始帖子中添加了我的管道 MSBuild 配置的屏幕截图和信息,我我在我的 BizTalk 开发机器上运行它,目标文件位于它说找不到的位置(手动复制的头脑)。对我所缺少的有什么想法吗?
  • 那么您的开发机器上安装了 DevOps 代理?代理在哪个用户下运行?可能是它无权访问这些文件。
  • 我在分心之后又回到了这个问题上,感谢您迄今为止的帮助。我已经取得了一些进展,但是 BTDF 构建仍然很麻烦。 - 创建本地构建代理让我走得更远,但随后目标文件中的 DeploymentFramework 变量无法识别,但将它们硬编码在目标文件中作为临时解决方案,这让我想到了当前问题:“错误执行 ICE 操作 'ICE01'。这种 ICE 故障的最常见原因是错误注册的脚本引擎“目前的可疑权限
  • 完全错误:2021-04-20T10:58:49.3906800Z light.exe:错误 LGHT0217:执行 ICE 操作“ICE01”时出错。这种 ICE 故障的最常见原因是错误注册的脚本引擎。有关详细信息以及如何解决此问题,请参阅wix.sourceforge.net/faq.html#Error217。外部 UI 消息记录器不希望出现以下字符串格式:“无法访问 Windows Installer 服务。如果未正确安装 Windows Installer,可能会发生这种情况。请联系您的支持人员寻求帮助。”。
  • 成功!修改管道以在具有改进权限的帐户下运行导致成功构建。想了解如何在不对 BTDF 变量值进行硬编码的情况下运行该过程,但该原始线程中所述的问题现已解决。再次感谢大家。
猜你喜欢
  • 2019-09-28
  • 2023-03-12
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 2020-07-04
  • 1970-01-01
  • 2019-12-02
  • 1970-01-01
相关资源
最近更新 更多