代码之家  ›  专栏  ›  技术社区  ›  SqlRyan

如何保持多个biztalk前端上部署的代码同步?

  •  3
  • SqlRyan  · 技术社区  · 15 年前

    我们有多个Biztalk2006应用程序服务器,我发现几乎不可能在它们上保持项目版本的同步。部署MSI包、导入它们、匹配GAC中的文件、部署一些注册表更改,这是一个冗长的过程,如果错过了一个步骤,或者有人将一个DLL的更新副本直接部署到一个服务器而不是另一个服务器上,那么就没有简单的方法来判断了。

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


    一些背景:

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

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

    请帮我避免动脉瘤。

    2 回复  |  直到 9 年前
        1
  •  3
  •   Filburt kukabuka    15 年前

    你可能想调查的一件事是 BizTalk Deployment Framework .

    我们目前正在使用Biztalk2009构建一个新的环境,我首先使用一组msbuild脚本来处理从Subversion导出源、使用btstak构建和部署程序集。

    当然,btstak缺乏很多功能(启动/停止应用程序),但至少对于Biztalk2006来说 BTSControl .

        2
  •  2
  •   Christian Loris    15 年前

    我们使用一个自动生成脚本,该脚本的最终目标是一个带有dev/stage/prod绑定文件的msi。所有发布的绑定文件都存储在一个共享上,并用于手动加载Biztalk Server。首先停止应用程序,在两个服务器上执行msi,然后导入msi。在导入过程中,我们指定绑定和Voila的环境。我们对失去同步没有问题。

    所以,我建议您取下所有最新的MSI,并在有差异的服务器上重新执行它们。否则,只需尝试将一个进程放置到位,手工创建一个可重复的加载进程。

    推荐文章