Интеграция с конвейером CI/CD

Из этой статьи вы узнаете, как данные из службы "Конфигурация приложений Azure" можно использовать в системе непрерывной интеграции и непрерывного развертывания.

Использование Конфигурации приложений в конвейере Azure DevOps

Если у вас есть конвейер Azure DevOps, можно извлечь значения ключей из Конфигурации приложений и установить их в качестве переменных задач. Расширение Конфигурации приложений для Azure DevOps — это дополнительный модуль, обеспечивающий эти функциональные возможности. Получите этот модуль и ознакомьтесь с параметрами извлечения из Конфигурация приложений с помощью Azure Pipelines, чтобы использовать его в Azure Pipelines.

Развертывание данных Конфигурации приложений с приложением

Возможно, ваше приложение не запустится, если оно зависит от службы "Конфигурация приложений Azure" и не сможет получить к ней доступ. Чтобы повысить устойчивость приложения, упакуйте данные конфигурации в файл, который развертывается вместе с приложением и загружается локально во время запуска приложения. Такой подход гарантирует, что при запуске приложение будет получать стандартные значения параметров. Эти значения будут перезаписаны более новыми изменениями из хранилища Конфигурации приложений, когда оно станет доступно.

С помощью функции Экспорт Конфигурации приложений Azure можно автоматизировать процесс получения текущих данных конфигурации в виде отдельного файла. Затем на этапе сборки или развертывания этот файл можно внедрить в конвейер непрерывной интеграции и непрерывного развертывания (CI/CD).

Ниже приведен пример того, как включить данные Конфигурации приложений в качестве этапа сборки для веб-приложения, представленного в кратких руководствах. Прежде чем продолжить, ознакомьтесь со статьей Краткое руководство. Создание приложения ASP.NET Core с помощью службы "Конфигурация приложений Azure".

Вы можете выполнять шаги в этом учебнике с помощью любого редактора кода. Visual Studio Code является отличным вариантом, который доступен на платформах Windows, macOS и Linux.

Необходимые компоненты

Если сборка выполняется локально, скачайте и установите Azure CLI, если этот компонент отсутствует.

Экспорт хранилища Конфигурации приложений

  1. Откройте CSPROJ-файл и добавьте в него приведенный ниже сценарий.

    <Target Name="Export file" AfterTargets="Build">
        <Message Text="Export the configurations to a temp file. " />
        <Exec WorkingDirectory="$(MSBuildProjectDirectory)" Condition="$(ConnectionString) != ''" Command="az appconfig kv export -d file --path $(OutDir)\azureappconfig.json --format json --separator : --connection-string $(ConnectionString)" />
    </Target>
    
  2. Откройте файл Program.cs и обновите метод CreateWebHostBuilder, чтобы использовать экспортированный JSON-файл с помощью вызова метода config.AddJsonFile(). Добавьте также пространство имен System.Reflection.

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                var directory = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                var settings = config.Build();
    
                config.AddJsonFile(Path.Combine(directory, "azureappconfig.json"));
                config.AddAzureAppConfiguration(settings["ConnectionStrings:AppConfig"]);
            })
            .UseStartup<Startup>();
    

Создание и запуск приложения локально

  1. Задайте переменную среды с именем ConnectionString и укажите для нее ключ доступа к хранилищу службы "Конфигурация приложений".

    Для сборки и запуска приложения локально с помощью командной строки Windows выполните следующую команду и перезапустите командную строку, чтобы изменения вступили в силу:

        setx ConnectionString "connection-string-of-your-app-configuration-store"
    
  2. Чтобы создать приложение с помощью интерфейса командной строки .NET, выполните следующую команду в командной оболочке:

     dotnet build
    
  3. Когда создание завершится, запустите веб-приложение локально с помощью следующей команды:

     dotnet run
    
  4. Откройте окно браузера и перейдите по адресу http://localhost:5000, который является URL-адресом по умолчанию для веб-приложения, размещенного локально.

    Снимок экрана: локальная страница запуска приложения

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

В этом руководстве вы экспортировали данные Конфигурации приложений Azure для использования в конвейере развертывания. Чтобы узнать больше об использовании службы "Конфигурация приложений", перейдите к примерам скриптов Azure CLI.