Как добавить внешнюю (упакованную) службу Service Fabric в манифест приложения - PullRequest
0 голосов
/ 07 мая 2019

Мы хотим получить кучу внешних сервисов Service Fabric, которые упакованы в универсальные пакеты.

Чтобы загрузить эти службы, мне пришлось использовать vsts cli - после их загрузки я вижу папки ServiceManifest.xml и Code / Config в папке, которую я скачал. Теперь я хочу добавить их в качестве какого-либо внешнего сервиса в мой манифест.

Как мне изменить ApplicationManifest.xml, чтобы добавить эти службы?

1 Ответ

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

Внутри узла <ServiceManifestImport> в ApplicationManifest.xml вы должны добавить ссылки на каждую службу, которую вы хотели бы иметь в своем приложении.

<ServiceManifestImport>
  <ServiceManifestRef ServiceManifestName="ServicePkg" ServiceManifestVersion="1.0.0" />
  <ConfigOverrides />
</ServiceManifestImport>

Вот две важные вещи, которые нужно понять:

  1. В то время как в общем случае ServiceManifest.xml содержит определение отдельной услуги с точки зрения проектирования, ServiceManifest.xml описывает так называемый пакет услуг . Этот сервисный пакет - вещь, на которую ссылаются ApplicationManifest.xml.

  2. Значением атрибута ServiceManifestName является имя ServiceManifest.xml. ServiceManifest.xml имя определяется внутри него с помощью атрибута ServiceManifest/@Name. В то же время атрибут ServiceManifestName определяет имя каталога относительно местоположения ApplicationManifest.xml, где расположены ServiceManifest.xml, Code, Config и другие папки.

Вот краткий пример

Представьте, что вы собрали пакет в каталоге C:\MyPackage и хотите использовать внешнюю службу с именем Service1 в ServiceManifest.xml.

  1. Первое, что вы делаете, это добавляете этот сервис к ApplicationManifest.xml
    <ServiceManifestImport>
      <ServiceManifestRef ServiceManifestName="Service1" ServiceManifestVersion="1.0.0" /> 
      <ConfigOverrides />
    </ServiceManifestImport>
    
  2. Теперь вы копируете ApplicationManifest.xml в C:\MyPackage директорию.
  3. Затем вы создаете каталог C:\MyPackage\Service1 и копируете ServiceManifest.xml, Code и т. Д. В C:\MyPackage\Service1.
  4. Чтобы убедиться, что все в порядке, вы выполняете командлет PowerShell Test-ServiceFabricApplicationPackage C:\MyPackage

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...