Отправка конфигурации приложения с помощью Azure Pipelines

Задача Отправка конфигурации приложения Azure передает пары "ключ — значение" из файла конфигурации в хранилище конфигураций приложений. Эта задача поддерживает функционал полного цикла в конвейере, давая возможность извлекать параметры из хранилища конфигураций приложений и отправлять их в хранилище конфигураций приложений.

Предварительные требования

Создание подключения службы

Подключение службы обеспечивает получение доступа к ресурсам в подписке Azure из проекта Azure DevOps.

  1. В Azure DevOps перейдите к проекту с целевым конвейером. В левом нижнем углу выберите Параметры проекта.

  2. В разделе Конвейеры выберите Подключения к службе. В правом верхнем углу выберите Новое подключение службы.

  3. В разделе Новое подключение службы выберите Azure Resource Manager.

    На снимке экрана показано, как выбрать Azure Resource Manager из раскрывающегося списка

  4. В диалоговом окне Метод проверки подлинности выберите Субъект-служба (автоматически) , чтобы создать новую субъект-службу или выберите Субъект-служба (вручную) , чтобы использовать существующую субъект-службу.

  5. Введите подписку, группу ресурсов и имя подключения к службе.

Если вы создали новую субъект-службу, найдите имя субъект-службы, назначенной для подключения к службе. На следующем шаге добавьте новое назначение роли этому субъекту-службе.

  1. Перейдите в раздел Параметры проекта>Подключения службы.

  2. Выберите новое подключение к службе.

  3. Выберите Управление субъектом-службой.

  4. Запишите значение, указанное в поле Отображаемое имя.

    На снимке экрана показано отображаемое имя субъекта-службы.

Добавление назначения роли

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

  1. Перейдите к целевому хранилищу Конфигураций приложений.

  2. В меню слева выберите Управление доступом (IAM) .

  3. В области справа выберите Добавить назначения ролей.

    На снимке экрана показана кнопка

  4. Для параметра Роль выберите значение Владелец данных конфигурации приложения. Эта роль дает задаче возможность считывать и записывать сведения из/в хранилище конфигураций приложений.

  5. Выберите субъект-службу, связанный с подключением службы, созданным в предыдущем разделе.

    Снимок экрана с диалоговым окном

  6. Выберите Проверить и назначить.

Использование в сборках

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

  1. Перейдите на страницу конвейера сборки, нажав Конвейер>Конвейеры. Документация по конвейерам сборки доступна здесь.
    • Если создается новый конвейер сборки, на последнем шаге процесса на вкладке Просмотр выберите Показать помощника в правой части конвейера.

      Снимок экрана: кнопка

    • Если используется существующий конвейер сборки, нажмите кнопку Изменить в правом верхнем углу.

      Снимок экрана: кнопка

  2. Найдите задачу Отправка конфигурации приложений Azure.

    На снимке экрана показано диалоговое окно

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

    На снимке экрана показаны параметры задачи отправки конфигурации приложения.

  4. Сохраните сборку и добавьте ее в очередь. В журнале сборки отобразятся все ошибки, возникшие при выполнении задачи.

Использование в выпусках

В этом разделе рассматривается использование задачи Конфигурация приложений Azure Push в конвейере выпуска Azure DevOps.

  1. Перейдите на страницу конвейера выпуска, выбрав Конвейеры>Выпуски. Документация по конвейерам выпусков доступна здесь.
  2. Выберите существующий конвейер выпуска. Если его нет, выберите + Новый, чтобы создать новый.
  3. Нажмите кнопку Изменить в правом верхнем углу, чтобы изменить конвейер выпуска.
  4. В раскрывающемся списке Задачи выберите Этап, в который необходимо добавить задачу. Дополнительные сведения об этапах см. здесь.

    Снимок экрана: выбранный этап в раскрывающемся списке

  5. Нажмите + рядом с заданием, к которому нужно добавить новую задачу.

    Снимок экрана: кнопка

  6. В диалоговом окне Добавление задач введите в поле поиска и выберите Отправка конфигурации приложения Azure.
  7. Задайте необходимые параметры в задаче, чтобы отправить пары "ключ — значение" из файла конфигурации в хранилище конфигураций приложений. Описание параметров дано в разделе Параметры ниже и в подсказках рядом с каждым параметром.
  8. Сохраните выпуск и добавьте его в очередь. В журнале выпусков отобразятся все ошибки, обнаруженные при выполнении задачи.

Параметры

В задаче отправки конфигурации приложения Azure используются следующие параметры.

  • Подписка Azure: раскрывающийся список, содержащий доступные подключения служб Azure. Чтобы обновить список доступных подключений служб Azure, нажмите кнопку Обновить подписку Azure справа от текстового поля.
  • Конечная точка Конфигурация приложений: раскрывающийся список, который загружает доступную конечную точку хранилищ конфигурации в выбранной подписке. Чтобы обновить список доступных конечных точек хранилищ конфигураций, нажмите кнопку Обновить Конфигурация приложений конечная точка справа от текстового поля.
  • Путь к файлу конфигурации: путь к файлу конфигурации. Параметр Путь к файлу конфигурации начинается в корне репозитория файлов. Можно просмотреть артефакт сборки, чтобы выбрать файл конфигурации. (кнопка ... справа от текстового поля). Поддерживаемые форматы файлов зависят от профиля содержимого файла. Для профиля по умолчанию поддерживаются форматы файлов yaml, json и свойства. Для профиля KvSet поддерживается формат файла JSON.
  • Профиль содержимого файла. Профиль содержимого файла конфигурации. Значение по умолчанию — Default.
    • По умолчанию: относится к стандартным форматам файлов конфигурации, которые непосредственно используются приложениями.
    • Kvset. Ссылается на схему файла, которая содержит все свойства Конфигурация приложений ключ-значение, включая ключ, значение, метку, тип контента и теги. Параметры задачи "Разделитель", "Метка", "Тип контента", "Префикс", "Теги" и "Глубина" неприменимы при использовании профиля Kvset.
  • Режим импорта: значение по умолчанию — Все. Определяет поведение при импорте значений "ключ".
    • Все. Импортирует все ключи и значения в файле конфигурации в Конфигурация приложений.
    • Ignore-Match. Импортирует только параметры, которые не имеют совпадающих значений "ключ-значение" в Конфигурация приложений. Сопоставление "ключ-значение" считается ключ-значением с одинаковыми ключами, метками, значением, типом контента и тегами.
  • Сухой запуск: значение по умолчанию — Снято.
    • Установлен флажок. Обновления для Конфигурация приложений выполняться не будут. Вместо этого все обновления, которые были бы выполнены при обычном запуске, будут напечатаны на консоли для проверки.
    • Снятый флажок: выполняет любые обновления для Конфигурация приложений и не печатает данные в консоли.
  • Разделитель: разделитель, используемый для сведения файлов .json и .yml.
  • Глубина: глубина, до которой будут сведены файлы .json и .yml.
  • Префикс: строка, добавляемая в начале каждого ключа, который отправляется в хранилище конфигураций приложений.
  • Метка: строка, добавляемая к каждому значению пары "ключ — значение" в качестве метки в хранилище конфигураций приложений.
  • Тип контента: строка, добавляемая к каждому значению пары "ключ — значение" для описания типа контента в хранилище конфигураций приложений.
  • Теги: объект JSON в формате {"tag1":"val1", "tag2":"val2"}, который определяет теги, добавляемые к каждому значению пары "ключ — значение", отправляемому в хранилище конфигураций приложений.
  • Удаление значений "ключ-ключ", не включенных в файл конфигурации. Значение по умолчанию — Снято. Поведение этого параметра зависит от профиля содержимого файла конфигурации.
    • Установлен флажок:
      • Профиль содержимого по умолчанию. Удаляет все ключ-значения в хранилище Конфигурация приложений, которые соответствуют указанному префиксу и метке, перед отправкой новых значений "ключ-значение" из файла конфигурации.
      • Профиль содержимого Kvset. Удаляет все ключ-значения в хранилище Конфигурация приложений, которые не включены в файл конфигурации, перед отправкой новых значений "ключ-значение" из файла конфигурации.
    • Флажок снят: отправляет все значения пар "ключ — значение" из файла конфигурации в хранилище конфигураций приложений и оставляет все остальные данные в хранилище конфигураций приложений без изменений.

Устранение неполадок

При возникновении непредвиденной ошибки можно включить журналы отладки, задав для переменной конвейера system.debug значение true.

Вопросы и ответы

Как отправить несколько файлов конфигурации?

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

Как создать ссылки на Key Vault или флаги функций с помощью этой задачи?

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

Почему при попытке отправки значений пар "ключ — значение" в хранилище конфигураций возникает ошибка 409?

Сообщение об ошибке конфликта 409 появляется, если задача пытается удалить или перезаписать значение пары "ключ — значение", заблокированное в хранилище конфигураций приложений.