如何将BizTalk应用程序部署到生产服务器?

时间:2016-09-17 14:21:03

标签: visual-studio-2010 biztalk biztalk-2010 btdf

我在BizTalk部署中遇到以下疑问:

  1. 如何将BizTalk应用程序部署到生产服务器?
  2. 当我修改现有的BizTalk应用程序(如工件,自定义管道/函数,自定义类等)时,我又如何将BizTalk应用程序部署到服务器?
  3. 我知道BTDF是部署BizTalk应用程序的最佳工具之一,我们可以使用它将BizTalk应用程序部署到服务器上吗?

1 个答案:

答案 0 :(得分:1)

<强> 1。部署

对于部署,您可以使用内置的MSI生成向导 这意味着您使用Visual Studio在开发环境中部署应用程序,然后在管理控制台上使用向导将应用程序导出为MSI。 最后,您可以使用该MSI将应用程序部署到生产服务器。 这是一个两步过程(运行MSI,在Bizalk管理控制台中导入MSI)。

请注意,MSI仅安装了Biztalk程序集。 如果在解决方案中使用.NET程序集,则需要手动进行GAC。 您还需要重新启动运行Biztalk应用程序的主机实例。

详情请见: https://msdn.microsoft.com/en-ca/library/aa559168.aspx

这是一些手动步骤。 或者,您可以使用Bizstalk附带的命令行工具BTSTask自动执行其中一些步骤 您可以编写所有手动步骤的脚本 显然编写这样的脚本需要时间,所以如果你要在非开发环境中多次部署,这是值得的。

BTSTask参考: https://msdn.microsoft.com/en-ca/library/aa559686.aspx

<强> 2。重新部署

通常您会完全删除旧版本,然后安装新版本:
从Biztalk管理控制台中删除应用程序并取消它使用的程序集。

整个过程看起来像:
1.确保您的应用程序中没有正在运行的实例。您始终可以禁用接收位置并让运行的实例完成 2.删除Biztalk应用程序
3. UnGAC相关组件
4.部署新的Biztalk应用程序版本和GAC关联的程序集 5.重新启动Biztalk应用程序使用的主机实例

编辑:解决OP关于删除正在运行的应用程序的问题:

确实可以独立部署资源,永远不会删除您的应用程序 但这并不意味着您不会中断服务 例如,业务流程在运行实例时永远不能重新部署 因此,假设您将功能正确地划分为应用程序,我发现删除整个应用程序比清理每个资源更清晰,更容易 否则,是的,您可以单独更换资源 但对我而言,这似乎是由于没有正确定义应用程序而导致的开销。

第3。 BTDF

Biztalk部署框架是一个很好的工具,可以在部署中实现某种自动化,而无需自己编写脚本。
在定制与您的需求和设置时间之间做出妥协。

我在自由项目中使用过它。这非常有用,因为我能够提供只有几个部署指令的软件包,非技术客户端能够轻松部署。