0

BizTalk我在部署中有以下疑惑:

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

1 回答 1

1

1.部署

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

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

在此处查看详细信息: https ://msdn.microsoft.com/en-ca/library/aa559168.aspx

这是几个手动步骤。或者,您可以使用 Biztalk 附带的命令行工具 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 部署框架是一个很好的工具,可以在您的部署中实现某种自动化,而无需自己编写脚本。
根据您的需求定制和设置时间之间的良好折衷。

我在一个自由职业项目中使用过它。这非常有帮助,因为我能够交付一个只有几个部署说明的包,并且非技术客户能够轻松部署。

于 2016-09-17T18:08:22.867 回答