如何保持部署的代码在同步多个BizTalk前端?
-
25-09-2019 - |
题
我们有多个2006年的BizTalk应用服务器,我觉得这几乎是不可能的,以保持我们的项目的版本同步上他们。这是部署MSI软件包,导入它们,在GAC匹配的文件,部署一些注册表更改的一个繁琐的过程,如果一个步骤被遗漏或某人部署一个DLL的更新直接拷贝到一台服务器,而不是其他,没有简单的方法来告诉。
如何保证其他人的软件副本之间的两个服务器的版本相同?
一些背景:
我们的环境具有两个(非群集)的BizTalk前端服务器和一个单独的数据库后端。直到最近,虽然我们有两个前端配置,主机实例已停止第二台服务器上,因为一些故障排除。他们已经被禁用了数个月,而我们在此期间部署了一些更新的代码。
今天上午,我做了GAC文件夹差异,以及持有这些DLL的本地磁盘复制我们的部署项目(C:\ OurProject \两台服务器上)的文件夹,一切都匹配 - 同样的文件尺寸,相同的时间戳。但是,一旦我打开了第二组服务的,很明显,Server2上使用的项目DLL的旧版本 - 处理接下来的三个文件,2例正常结果,一个显然是过时
请帮我避免动脉瘤。
解决方案
你可能要考虑的一件事是 BizTalk部署框架。
目前,我们正在建立一个新的环境与2009年的BizTalk和我开始了一组的MSBuild脚本的文件句柄出口从Subversion源,构建和部署使用BTSTask组件。
当然BTSTask缺乏很多的功能(启动/停止应用程序),但至少为2006年有 BTSControl <的BizTalk / A>
其他提示
我们使用自动构建脚本其最终端是MSI与绑定文件用于开发/阶段/生产。所有已发布的约束力文件存储在一个共享和使用手工加载的BizTalk Server。首先,应用程序被终止,微星的两台服务器上执行,然后MSI进口。在导入过程中,我们指定绑定,瞧环境。我们已经没有任何问题与同步的损失。
所以,我建议考虑您的所有最新的MSI并重新执行,你必须区别在服务器上他们。否则,只是尽量把过程以手工创建一个可重复的加载过程。