Как синхронизировать развернутый код на нескольких клиентских интерфейсах BizTalk - PullRequest
3 голосов
/ 08 апреля 2010

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

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


Немного предыстории:

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

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

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

Ответы [ 2 ]

3 голосов
/ 09 апреля 2010

Одна вещь, которую вы можете рассмотреть, - BizTalk Deployment Framework .

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

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

2 голосов
/ 09 апреля 2010

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

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

...