Отправка конфигурации приложения с помощью Azure Pipelines
Задача Отправка конфигурации приложения Azure передает пары "ключ — значение" из файла конфигурации в хранилище конфигураций приложений. Эта задача поддерживает функционал полного цикла в конвейере, давая возможность извлекать параметры из хранилища конфигураций приложений и отправлять их в хранилище конфигураций приложений.
Необходимые компоненты
- Подписка Azure — создайте бесплатную учетную запись.
- Конфигурация приложений магазин — создайте его бесплатно
- Проект Azure DevOps — создайте его бесплатно
- Задача отправки конфигураций приложений Azure — скачайте бесплатно из Visual Studio Marketplace.
- Агент Azure Pipelines версии 2.206.1 или более поздней версии и Node версии 16 или более поздней для выполнения задачи на локальных агентах.
Создание подключения службы
Подключение службы обеспечивает получение доступа к ресурсам в подписке Azure из проекта Azure DevOps.
В Azure DevOps перейдите к проекту с целевым конвейером. В левом нижнем углу выберите Параметры проекта.
В разделе Конвейеры выберите Подключения к службе. В правом верхнем углу выберите Новое подключение службы.
В разделе Новое подключение службы выберите Azure Resource Manager.
В диалоговом окне "Метод проверки подлинности" выберите федерацию удостоверений рабочей нагрузки (автоматически), чтобы создать федерацию удостоверений рабочей нагрузки или выбрать федерацию удостоверений рабочей нагрузки (вручную), чтобы использовать существующую федерацию удостоверений рабочей нагрузки.
Введите подписку, группу ресурсов и имя подключения к службе.
Если вы создали новую субъект-службу, найдите имя субъект-службы, назначенной для подключения к службе. На следующем шаге мы добавим новое назначение роли этому субъекту-службе.
Перейдите в раздел Параметры проекта>Подключения службы.
Выберите новое подключение к службе.
Выберите Управление субъектом-службой.
Запишите значение, указанное в поле Отображаемое имя.
Добавление назначения роли
Назначьте роль конфигурации приложения данным для входа, которые используются в задаче, чтобы задача могла получить доступ к хранилищу конфигураций приложений.
Перейдите к целевому хранилищу Конфигураций приложений.
В меню слева выберите Управление доступом (IAM).
В области справа выберите Добавить назначения ролей.
Для параметра Роль выберите значение Владелец данных конфигурации приложения. Эта роль дает задаче возможность считывать и записывать сведения из/в хранилище конфигураций приложений.
Выберите субъект-службу, связанный с подключением службы, созданным в предыдущем разделе.
Выберите Проверить + назначить.
Использование в сборках
В этом разделе рассматривается использование задачи отправки конфигурации приложения Azure в конвейере сборки Azure DevOps.
- Перейдите на страницу конвейера сборки, щелкнув Pipelines>Pipelines. Документация по конвейерам сборки доступна здесь.
- Если создается новый конвейер сборки, на последнем шаге процесса на вкладке Просмотр выберите Показать помощника в правой части конвейера.
- Если вы используете существующий конвейер сборки, нажмите кнопку Изменить в правом верхнем углу.
- Если создается новый конвейер сборки, на последнем шаге процесса на вкладке Просмотр выберите Показать помощника в правой части конвейера.
- Найдите задачу Отправка конфигурации приложений Azure.
- Задайте необходимые параметры для задачи, чтобы отправить пары "ключ — значение" из файла конфигурации в хранилище конфигураций приложений. Описание параметров дано в разделе Параметры ниже и в подсказках рядом с каждым параметром.
- Сохраните сборку и добавьте ее в очередь. В журнале сборки отобразятся все ошибки, возникшие во время выполнения задачи.
Использование в выпусках
В этом разделе описано, как использовать задачу отправки Конфигурация приложений Azure в конвейере выпуска Azure DevOps.
- Перейдите на страницу конвейера выпуска, выбрав пункт Конвейеры>Выпуски. Документация по конвейерам выпусков доступна здесь.
- Выберите существующий конвейер выпуска. Если его нет, выберите + Новый, чтобы создать новый.
- Нажмите кнопку Изменить в правом верхнем углу, чтобы изменить конвейер выпуска.
- В раскрывающемся списке Задачи выберите Этап, в который необходимо добавить задачу. Дополнительные сведения об этапах см. здесь.
- Щелкните + рядом с заданием, к которому нужно добавить новую задачу.
- В диалоговом окне Добавление задач введите в поле поиска и выберите Отправка конфигурации приложения Azure.
- Задайте необходимые параметры в задаче, чтобы отправить пары "ключ — значение" из файла конфигурации в хранилище конфигураций приложений. Описание параметров дано в разделе Параметры ниже и в подсказках рядом с каждым параметром.
- Сохраните выпуск и добавьте его в очередь. В журнале выпусков отобразятся все ошибки, обнаруженные во время выполнения задачи.
Параметры
В задаче отправки конфигурации приложения 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 появляется, если задача пытается удалить или перезаписать значение пары "ключ — значение", заблокированное в хранилище конфигураций приложений.