Выпуск конвейера Azure Devops «Развертывание приложения BizTalk» - PullRequest
0 голосов
/ 10 мая 2019

Я хочу создать сервер мульти развертывания, используя задачу «Развернуть приложение BizTalk» на конвейере выпуска Azure из задания группы развертывания, но задача установить все артефакты (добавить ресурсы, GAC, привязки) на 3 сервера. Есть ли способ ограничения привязок и добавления ресурсов только на первом узле?

текущее поведение создает исключение:

Нарушение параллелизма при обновлении

Другое дело, в BizTalk 2016 FP2 MSFT добавлено улучшение для группы развертывания, кто-то знает, что действительно изменилось?

1 Ответ

0 голосов
/ 10 мая 2019

Это будет длинный пост, так что подождите.

Вы хотите узнать о BTDF (BizTalk Deployment Framework).Я написал целое руководство для своей внутренней команды, поэтому я не могу поделиться этим легко.Но я попытаюсь объяснить, что вам нужно сделать.

1) В нашей организации DevOps Azure добавьте расширения «Среда развертывания для BizTalk» и «BTDF Project Updater» (я написал это,но необязательно обновлять номер версии для сгенерированного MSI).

2) В Интернете есть руководства, но вы узнаете, как превратить ваш проект в MSI и развернуть его с помощью BTDF в Build Pipeline.Используйте «BTDF Project Updater», чтобы увеличить номер версии.enter image description here

3) Итак, вы сказали, что в вашей среде BizTalk есть 3 сервера.Во время ручного развертывания BizTalk сервер 1 и сервер 2 получают «легкое» развертывание BizTalk, а сервер 3 получает полное развертывание BizTalk.Это означает, что во время конвейера выпуска выпустить релиз на серверах 1 и 2, но сделать это немного по-другому на сервере 3.

3.1) Создать обычный пул агентов для сервера 3 и связать агента ADO вСервер 3 к этому.

3.2) Создайте пул развертывания и свяжите агенты для сервера 1 и сервера 2 (я думаю, что вы уже сделали это)

4) Создайте свой конвейер выпуска дляэта конкретная среда, но мы собираемся добавить 2 этапа агента вместо значения по умолчанию 1. Обратите внимание, что я использую различные типы заданий агента для созданных выше пулов.

enter image description here

Для задач Release Pipeline для каждого агента я просто использую шаблон группы задач, потому что у меня есть какие-либо конвейеры Release.У меня есть одно «Стандартное развертывание - не окончательное» и одно «Стандартное развертывание» (которое является окончательным).ЗАЧЕМ?BizTalk требует, чтобы двоичные файлы приложения и некоторые другие артефакты были установлены на каждом сервере BizTalk, на котором выполняется приложение.Однако приложение BizTalk, его привязки портов, политики правил и многое другое должны быть зарегистрированы в базах данных BizTalk только один раз в группе.Это причина для флажка.Обратите внимание, что он не отмечен для «Не Финал» и проверен на тот, который будет «Финал».Установка будет очень быстрой на серверах 1 и 2, но на сервере 3 из-за этого займет больше времени.

enter image description here enter image description here

Теперь вы можете запустить ADO Release Pipeline, чтобы протестировать его.Но этот процесс работает отлично, и я использую его вместе с GitVersion.enter image description here

Я знаю, что многое не упомянул в этом руководстве, например, реальные детали задач по остановке приложения BizTalk с помощью сценария PS, Отмена развертывания приложения BizTalk, удаление MSI, почему я копирую MSI в каталог установки, а затем установить.Вы можете прочитать больше из официальной документации здесь: http://www.tfabraham.com/BTDFDocs/V5_5/DeploymentFrameworkForBizTalkDocs.html?DeployConfigurationSettingsintoS.html

Надеюсь, это поможет!

...