Azure Devops发布管道“部署BizTalk应用程序”任务

时间:2019-05-10 13:03:13

标签: azure-devops biztalk biztalk-2016

我想通过部署组作业在azure发布管道上使用“部署BizTalk应用程序”任务来制作多部署服务器,但是该任务将所有工件(添加资源,GAC,绑定)安装在3个服务器上。有没有办法限制绑定并仅在第一个节点上添加资源?

当前行为会生成异常:

更新时遇到并发冲突

另一件事,在BizTalk 2016 FP2 MSFT中为部署组添加了增强功能,有人知道什么真正更改了吗?

1 个答案:

答案 0 :(得分:0)

这将是一篇很长的文章,请稍等。

您想了解BTDF(BizTalk部署框架)。我为内部团队写了一个完整的指南,所以我不能轻易分享。但我将尝试解释您需要做什么。

1)在我们的Azure DevOps组织中,添加扩展名“ BizTalk的部署框架”和“ BTDF项目更新程序”(我写了一个,但是可以为生成的MSI更新版本号)。

2)在线提供了指南,但是学习了如何使您的项目成为MSI并可以使用Build Pipeline中的BTDF进行部署。利用“ BTDF项目更新程序”增加版本号。 enter image description here

3)现在,您说您在BizTalk环境中有3个服务器。在手动进行BizTalk部署期间,服务器1和服务器2获得“轻型” BizTalk部署,服务器3获得完整的BizTalk部署。这意味着在“发布管道”期间要在服务器1和2上进行发布,但是在服务器3上要进行一些改动。

3.1)为服务器3创建一个普通的代理池,并将服务器3上的ADO代理与此相关联。

3.2)创建一个部署池并关联服务器1和服务器2的代理(我认为您已经完成了此工作)

4)为该特定环境创建您的发布管道,但是我们将进入2个Agent阶段而不是默认的1个阶段。请注意,我为上面创建的池使用了不同类型的Agent作业。

enter image description here

  1. 对于每个代理的发布管道任务,我碰巧正在使用任务组模板,因为我有任何发布管道。我有一个叫做“标准部署-不是最终的”,另一个叫做“标准部署”(这是最终的)。为什么? BizTalk要求在运行该应用程序的每个BizTalk服务器上安装应用程序二进制文件和某些其他工件。但是,BizTalk应用程序,其端口绑定,规则策略等必须在组中一次在BizTalk数据库中注册。这就是该复选框的原因。请注意,未选中“ Not Final”,而未选中“ Final”。因此,在服务器1和2上的安装将非常迅速,但是在服务器3上的安装将花费更长的时间。

enter image description here enter image description here

  1. 现在,您可以启动ADO Release Pipeline进行测试。但是,此过程效果很好,我将其与GitVersion结合使用。 enter image description here

我知道我在本指南中遗漏了很多内容,例如用于通过PS脚本停止BizTalk应用程序的任务的实际详细信息,取消部署BizTalk应用程序,取消安装MSI,为什么将MSI复制到安装目录,然后安装。您可以从以下官方文档中了解更多信息:http://www.tfabraham.com/BTDFDocs/V5_5/DeploymentFrameworkForBizTalkDocs.html?DeployConfigurationSettingsintoS.html

我希望这会有所帮助!