Как обеспечить синхронизацию развернутого кода на нескольких интерфейсах BizTalk?

У нас есть несколько серверов приложений BizTalk 2006, и я считаю, что синхронизировать на них версии наших проектов практически невозможно. Это утомительный процесс развертывания пакетов MSI, их импорта, сопоставления файлов в GAC, развертывания некоторых изменений реестра, и если один шаг пропущен или кто-то развернул обновленную копию DLL непосредственно на одном сервере, а не на другом, нет простой способ сказать.

Как другие гарантируют, что копии программного обеспечения на двух серверах имеют одинаковую версию?


Некоторая предыстория:

В нашей среде есть два (некластеризованных) интерфейсных сервера BizTalk и отдельная внутренняя база данных. До недавнего времени, хотя у нас были настроены оба интерфейса, экземпляры хоста были остановлены на втором сервере из-за устранения некоторых неполадок. Они были отключены на несколько месяцев, а тем временем мы развернули обновленный код.

Сегодня утром я провел сравнение папок в GAC, а также папку, в которой хранится локальная дисковая копия библиотек DLL для нашего развернутого проекта (C: \ OurProject \ на обоих серверах), и все совпало - одинаковые размеры файлов, одинаковые отметки времени. Однако, как только я включил второй набор сервисов, стало очевидно, что Server2 использует старую версию проектной DLL - из следующих трех обработанных файлов два дали нормальные результаты, а один явно устарел.

Пожалуйста, помогите мне избежать аневризмы.


person SqlRyan    schedule 08.04.2010    source источник


Ответы (2)


Одна вещь, которую вы можете захотеть изучить, - это BizTalk Deployment Framework.

В настоящее время мы создаем новую среду с BizTalk 2009, и я начал с набора сценариев MSBuild, которые обрабатывают экспорт источников из SubVersion, построение и развертывание сборок с помощью BTSTask.

Конечно, BTSTask не хватает многих функций (запуск / остановка приложений), но, по крайней мере, для BizTalk 2006 есть BTSControl .

person Filburt    schedule 08.04.2010

Мы используем сценарий автоматической сборки, конечной целью которого является MSI с файлами привязки для Dev / Stage / Prod. Все выпущенные файлы привязки хранятся в общей папке и используются для ручной загрузки сервера BizTalk. Сначала приложение останавливается, MSI выполняется на обоих серверах, а затем MSI импортируется. Во время импорта мы указываем среду для привязок и вуаля. У нас не было проблем с потерей синхронизации.

Итак, я предлагаю взять все ваши последние MSI и повторно запустить их на серверах, где у вас есть различия. В противном случае просто попробуйте запустить процесс для создания повторяемого процесса загрузки вручную.

person Christian Loris    schedule 09.04.2010