Изменение хост-экземпляра в BizTalk Deployment Framework

Я использую BizTalk Deployment Framework для развертывания своего приложения. Он работает на локальной машине. Я хочу развернуть в тестовой среде, и она должна использовать Visual Studio, а не MSI. Я не уверен, где изменить имя HostInstance.


person Midhun Mathew    schedule 14.03.2016    source источник


Ответы (2)


Во-первых, просто лучше, если имена хостов будут одинаковыми в DEV и во всех других средах. Это упрощает жизнь.

Однако, если вам действительно нужно, чтобы они были другими, вам просто нужно настроить имена хостов в качестве параметров с помощью файла параметров, чтобы BTDF мог динамически устанавливать их во время развертывания.

Для ясности следует использовать для развертывания в TEST файл .msi, а не Visual Studio.

person Johns-305    schedule 14.03.2016

Чтобы уточнить немного больше, вот пример того, где вы устанавливаете имя хоста в PortBindingsMaster - обратите внимание, что это конфигурация для каждого артефакта (т.е. для каждой оркестрации, порта отправки и места приема указан свой собственный хост). Я полностью согласен с Johns-305, имена хостов обязательно должны быть одинаковыми во всех средах - это делает жизнь намного проще и намного менее запутанной (и у вас меньше шансов вызвать проблемы с развертыванием, потому что вы забыли настроить правильное имя хоста для ТЕСТ против DEV). Просто настройте среду разработки для зеркалирования TESt / PROD. И сначала вы должны сделать это, экспортировав свои привязки, чтобы убедиться, что вы получаете правильные значения Capabilities и ConfigurationClsid.

Для оркестровки:

<Service Name="OrchestrationName" State="Started" TrackingOption="ServiceStartEnd MessageSendReceive OrchestrationEvents" Description="">
  <Ports>
      ...
  </Ports>
  <Roles />
  <Host Name="OrchHost" NTGroupName="${SsoAppUserGroup}" Type="1" Trusted="false" />
</Service>

Вы можете заменить значение атрибута Name в Host именем переменной вашего хоста, например ${OrchHostName} (при условии, что в вашем файле SettingsFileGenerator.xml есть строка с именем первого столбца OrchHostName).

Для ReceiveLocation:

<ReceiveLocation Name="rlocBlahBlah_FILE">
  ...
  <ReceiveHandler Name="ReceiveHost" HostTrusted="false">
    <TransportType Name="FILE" Capabilities="11" ConfigurationClsid="5e49e3a6-b4fc-4077-b44c-22f34a242fdb" />
  </ReceiveHandler>
</ReceiveLocation>

Вы можете заменить значение атрибута Name в ReceiveHandler именем вашей переменной хоста, например ${ReceiveHostName}.

Для SendPort:

<SendPort ...>
...
  <PrimaryTransport>
    ...
    <SendHandler Name="SendHost" HostTrusted="false">
      <TransportType Name="FILE" Capabilities="11" ConfigurationClsid="5e49e3a6-b4fc-4077-b44c-22f34a242fdb" />
    </SendHandler>
  </PrimaryTransport>
  <SecondaryTransport> <!-- if configured -->
    <SendHandler Name="SendHost" HostTrusted="false">
      <TransportType Name="FILE" Capabilities="11" ConfigurationClsid="5e49e3a6-b4fc-4077-b44c-22f34a242fdb" />
    </SendHandler>
  </SecondaryTransport>
   ...
</SendPort>

Вторичный транспорт не требуется и не настроен по умолчанию, но его следует учитывать, если вы его используете. Вы можете заменить атрибут Name в SendHandler на что-то вроде ${SendHandlerName}.

person Dan Field    schedule 14.03.2016