Поделиться через


Как указать переменные среды для служб в Service Fabric

В этой статье показано, как задать переменные среды для службы или контейнера в Service Fabric.

Процедуры указания переменных среды для служб

В этом примере задается значение переменной среды для контейнера. В статье предполагается, что у вас уже есть манифест приложения и манифест служб.

  1. Откройте файл ServiceManifest.xml.

  2. В элемент CodePackage добавьте новые элементы EnvironmentVariables и EnvironmentVariable для каждой переменной среды.

    <CodePackage Name="MyCode" Version="CodeVersion1">
            ...
            <EnvironmentVariables>
                  <EnvironmentVariable Name="MyEnvVariable" Value="DefaultValue"/>
                  <EnvironmentVariable Name="HttpGatewayPort" Value="19080"/>
            </EnvironmentVariables>
    </CodePackage>
    

    Переменные среды можно переопределить в манифесте приложения.

  3. Для этого используйте элемент EnvironmentOverrides.

      <ServiceManifestImport>
        <ServiceManifestRef ServiceManifestName="Guest1Pkg" ServiceManifestVersion="1.0.0" />
        <EnvironmentOverrides CodePackageRef="MyCode">
          <EnvironmentVariable Name="MyEnvVariable" Value="OverrideValue"/>
        </EnvironmentOverrides>
      </ServiceManifestImport>
    

Динамическое указание переменных среды с помощью Docker Compose

Service Fabric поддерживает использование Docker Compose для развертывания. Файлы Compose могут использовать оболочку в качестве источника переменных среды. Эту способность можно использовать для динамической замены требуемых значений среды:

environment:
  - "hostname:${hostname}"

Следующие шаги

Дополнительные сведения о некоторых основных понятиях, описанных в этой статье, см . в статье "Управление приложениями для нескольких сред".

Сведения о других возможностях управления приложениями, доступными в Visual Studio, см. в статье Использование Visual Studio для упрощения создания приложений Service Fabric и управления ими.