【问题标题】:How to keep deployed code on multiple BizTalk front ends in sync?如何使多个 BizTalk 前端上的部署代码保持同步?
【发布时间】:2010-04-08 15:04:26
【问题描述】:

我们有多个 BizTalk 2006 应用服务器,我发现几乎不可能在它们上保持我们项目的版本同步。部署 MSI 包、导入它们、匹配 GAC 中的文件、部署一些注册表更改是一个乏味的过程,如果错过了一个步骤或有人将 DLL 的更新副本直接部署到一台服务器而不是另一台服务器,则没有容易分辨。

其他人如何确保两台服务器之间的软件副本版本相同?


一些背景:

我们的环境有两个(非集群)BizTalk 前端服务器和一个单独的数据库后端。直到最近,尽管我们都配置了两个前端,但由于一些故障排除,主机实例在第二台服务器上停止了。它们已经被禁用了几个月,同时我们部署了一些更新的代码。

今天早上,我在 GAC 上做了一个文件夹 diff,以及为我们部署的项目保存 DLL 的本地磁盘副本的文件夹(两台服务器上的 C:\OurProject\),所有内容都匹配 - 同一个文件大小,相同的时间戳。但是,一旦我打开第二组服务,很明显 Server2 使用的是旧版本的项目 DLL - 在接下来处理的三个文件中,两个结果正常,一个明显过期。

请帮我避免动脉瘤。

【问题讨论】:

    标签: biztalk biztalk-deployment


    【解决方案1】:

    您可能想要查看的一件事是BizTalk Deployment Framework

    我们目前正在使用 BizTalk 2009 构建一个新环境,我从一组 MSBuild 脚本开始,这些脚本处理从 SubVersion 导出源,使用 BTSTask 构建和部署程序集。

    当然,BTSTask 缺少很多功能(启动/停止应用程序),但至少 BizTalk 2006 有 BTSControl

    【讨论】:

      【解决方案2】:

      我们使用一个自动构建脚本,其最终结果是一个带有 Dev/Stage/Prod 绑定文件的 MSI。所有发布的绑定文件都存储在一个共享中,用于手动加载 BizTalk 服务器。首先应用程序停止,MSI 在两台服务器上执行,然后导入 MSI。在导入期间,我们指定绑定的环境,瞧。我们没有遇到同步丢失的问题。

      因此,我建议您获取所有最新的 MSI,然后在您有差异的服务器上重新执行它们。否则,只需尝试放置一个流程以手动创建可重复的加载流程。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-24
        • 2021-01-10
        • 2015-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-04
        • 1970-01-01
        相关资源
        最近更新 更多