Я использую BizTalk Deployment Framework для развертывания своего приложения. Он работает на локальной машине. Я хочу развернуть в тестовой среде, и она должна использовать Visual Studio, а не MSI. Я не уверен, где изменить имя HostInstance.
Изменение хост-экземпляра в BizTalk Deployment Framework
Ответы (2)
Во-первых, просто лучше, если имена хостов будут одинаковыми в DEV и во всех других средах. Это упрощает жизнь.
Однако, если вам действительно нужно, чтобы они были другими, вам просто нужно настроить имена хостов в качестве параметров с помощью файла параметров, чтобы BTDF мог динамически устанавливать их во время развертывания.
Для ясности следует использовать для развертывания в TEST файл .msi, а не Visual Studio.
Чтобы уточнить немного больше, вот пример того, где вы устанавливаете имя хоста в 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}
.