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

问题描述:

我在BizTalk部署以下疑点:如何将BizTalk应用程序部署到生产服务器中?

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

1.部署

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

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

看详情点击这里: https://msdn.microsoft.com/en-ca/library/aa559168.aspx

那几个手动步骤。 或者,您可以使用BTSTask(Biztalk附带的命令行工具)自动执行上述某些步骤。
您可以编写所有手动步骤。
显然,编写这样的脚本需要时间,所以如果您要在非dev环境中部署很多次,它才值得。

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

2.调动

通常你完全删除旧版本,然后安装新的一个:
删除BizTalk管理控制台应用程序并ungac大会它用。

整个过程如下所示:
1.确保您的应用程序中没有正在运行的实例。您可以随时关闭您的接收位置,让完整的运行实例使用
2.删除BizTalk应用程序
3. UnGAC相关组件
4.部署新的BizTalk应用程序版本与GAC相关组件
5.重新启动主机实例您BizTalk应用程序

编辑:为了解决OP的有关删除正在运行的应用的关注:

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

3 BTDF

BizTalk部署框架是有某种在你部署的自动化,而无需自己编写的脚本的好工具。
定制到您的需求和安装时间之间的良好折中。

我已经在一个*项目中使用它。这非常有帮助,因为我只能通过几个部署说明来提供一个包,而非技术人员的客户可以轻松部署。

+0

我对第二点重新部署有一点怀疑,即当应用程序在服务器上运行时,删除应用程序并安装新应用程序是真的吗? – Naidu

+0

@Naidu当您的应用程序没有正在运行的实例并且首先停止应用程序时,您需要等待一会儿。 –

+0

@Naidu我在答案的重新部署部分添加了详细信息。 –