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


Отправка конфигурации приложения с помощью 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. Перейдите на страницу конвейера сборки, щелкнув Pipelines>Pipelines. Документация по конвейерам сборки доступна здесь.
    • Если создается новый конвейер сборки, на последнем шаге процесса на вкладке Просмотр выберите Показать помощника в правой части конвейера.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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