Параметры извлечения из Конфигурация приложений с помощью Azure Pipelines
Задача Конфигурация приложений Azure извлекает пары "ключ-значение" из хранилища конфигурации приложений и задает их в качестве переменных конвейера Azure, которые могут использоваться последующими задачами. Эта задача дополняет задачу Отправка Конфигурации приложений Azure, которая передает пары "ключ-значение" из файла конфигурации в хранилище конфигурации приложений. Дополнительные сведения см. в статье Отправка параметров в Конфигурацию приложения с помощью Azure Pipelines.
Необходимые компоненты
- Подписка Azure — создайте бесплатную учетную запись.
- Конфигурация приложений магазин — создайте его бесплатно
- Проект Azure DevOps — создайте его бесплатно
- Задача Конфигурации приложений Azure — скачайте бесплатно из Visual Studio Marketplace.
- Агент Azure Pipelines версии 2.206.1 или более поздней версии и Node версии 16 или более поздней для выполнения задачи на локальных агентах.
Создание подключения службы
Подключение службы обеспечивает получение доступа к ресурсам в подписке Azure из проекта Azure DevOps.
В Azure DevOps перейдите к проекту с целевым конвейером. В левом нижнем углу выберите Параметры проекта.
В разделе Конвейеры выберите Подключения к службе. В правом верхнем углу выберите Новое подключение службы.
В разделе Новое подключение службы выберите Azure Resource Manager.
В диалоговом окне "Метод проверки подлинности" выберите федерацию удостоверений рабочей нагрузки (автоматически), чтобы создать федерацию удостоверений рабочей нагрузки или выбрать федерацию удостоверений рабочей нагрузки (вручную), чтобы использовать существующую федерацию удостоверений рабочей нагрузки.
Введите подписку, группу ресурсов и имя подключения к службе.
Если вы создали новую субъект-службу, найдите имя субъект-службы, назначенной для подключения к службе. На следующем шаге мы добавим новое назначение роли этому субъекту-службе.
Перейдите в раздел Параметры проекта>Подключения службы.
Выберите новое подключение к службе.
Выберите Управление субъектом-службой.
Запишите значение, указанное в поле Отображаемое имя.
Добавление назначения роли
Назначьте роль конфигурации приложения данным для входа, которые используются в задаче, чтобы задача могла получить доступ к хранилищу конфигураций приложений.
Перейдите к целевому хранилищу Конфигураций приложений.
В меню слева выберите Управление доступом (IAM).
В области справа выберите Добавить назначения ролей.
Для роли выберите средство чтения данных Конфигурация приложений. Эта роль позволяет задаче считывать сведения из хранилища Конфигураций приложений.
Выберите субъект-службу, связанный с подключением службы, созданным в предыдущем разделе.
Выберите Проверить + назначить.
Если хранилище содержит ссылки на Key Vault, перейдите к соответствующим Key Vault и назначьте роль Пользователь секретов Key Vault субъекту-службе, созданному на предыдущем шаге. В меню Key Vault выберите Политики доступа и убедитесь, что в качестве модели разрешений выбрано Управление доступом на основе ролей Azure.
Использование в сборках
В этом разделе рассматривается использование задачи Конфигурации приложения Azure в конвейере сборки Azure DevOps.
- Перейдите на страницу конвейера сборки, щелкнув Pipelines>Pipelines. Документацию по конвейеру сборки см. в статье Создание первого конвейера.
- Если создается новый конвейер сборки, на последнем шаге процесса на вкладке Просмотр выберите Показать помощника в правой части конвейера.
- Если вы используете существующий конвейер сборки, нажмите кнопку Изменить в правом верхнем углу.
- Найдите задачу Конфигурация приложений Azure.
- Настройте необходимые параметры для задачи, чтобы извлечь пары "ключ-значение" из хранилища конфигураций приложений. Описание параметров доступно в разделе Параметры ниже и в подсказках рядом с каждым параметром.
- Присвойте параметру Подписка Azure имя подключения службы, созданного на предыдущем шаге.
- Задайте для конечной точки Конфигурация приложений конечную точку хранилища Конфигурация приложений.
- Для остальных параметров оставьте значения по умолчанию.
- Сохраните сборку и добавьте ее в очередь. В журнале сборки отобразятся все ошибки, возникшие во время выполнения задачи.
Использование в выпусках
В этом разделе рассматривается использование задачи Конфигурации приложения Azure в конвейере выпуска Azure DevOps.
- Перейдите на страницу конвейера выпуска, выбрав пункт Конвейеры>Выпуски. Документацию по конвейеру выпуска см. в разделе Конвейеры выпуска.
- Выберите существующий конвейер выпуска. Если у вас его нет, щелкните Новый конвейер, чтобы создать новый.
- Нажмите кнопку Изменить в правом верхнем углу, чтобы изменить конвейер выпуска.
- В раскрывающемся списке Задачи выберите Этап, в который необходимо добавить задачу. Дополнительные сведения об этапах см. здесь.
- Щелкните + рядом с заданием, к которому нужно добавить новую задачу.
- Найдите задачу Конфигурация приложений Azure.
- Настройте необходимые параметры в задаче, чтобы извлечь пары "ключ-значение" из хранилища Конфигураций приложений. Описание параметров доступно в разделе Параметры ниже и в подсказках рядом с каждым параметром.
- Присвойте параметру Подписка Azure имя подключения службы, созданного на предыдущем шаге.
- Задайте для конечной точки Конфигурация приложений конечную точку хранилища Конфигурация приложений.
- Для остальных параметров оставьте значения по умолчанию.
- Сохраните выпуск и добавьте его в очередь. В журнале выпусков отобразятся все ошибки, обнаруженные во время выполнения задачи.
Параметры
В задаче Конфигурации приложения Azure используются следующие параметры.
- Подписка Azure: раскрывающийся список, содержащий доступные подключения служб Azure. Чтобы обновить список доступных подключений служб Azure, нажмите кнопку Обновить подписку Azure справа от текстового поля.
- Конфигурация приложений Конечная точка: раскрывающийся список, который загружает доступные конфигурации хранит конечные точки в выбранной подписке. Чтобы обновить и обновить список доступных конечных точек хранилища конфигураций, нажмите кнопку "Обновить Конфигурация приложений конечную точку" справа от текстового поля.
- Режим выбора: указывает, как выбраны ключ-значения из хранилища конфигурации. Режим выбора по умолчанию позволяет использовать фильтры ключей и меток. Режим выбора моментального снимка позволяет выбрать значения ключей из моментального снимка. Значение по умолчанию — Default.
- Фильтр ключей: этот фильтр можно использовать для выбора пар "ключ-значение", запрашиваемых из Конфигурации приложения Azure. Символ "*" позволяет выбрать все пары "ключ-значение". Дополнительные сведения см. в разделе "Запрос ключей-значений".
- Метка: указывает, какую метку следует использовать при выборе пар "ключ-значение" из хранилища Конфигураций приложений. Если метка не указана, будут извлечены пары "ключ-значение" без метки. Следующие символы не допускаются: , *.
- Имя моментального снимка: указывает моментальный снимок, из которого необходимо получить значения ключей в Конфигурация приложений Azure.
- Усечение префикса ключа: указывает один или несколько префиксов, которые должны быть обрезаны в ключах Конфигурации приложения перед их установкой в качестве переменных. Несколько префиксов можно разделить символом новой строки.
- Отключить предупреждение для переопределенных ключей: значение по умолчанию снято. Указывает, следует ли отображать предупреждения при переопределении существующих ключей. Включите этот параметр, если ожидается, что значения ключей, загруженные из Конфигурация приложений, имеют перекрывающиеся ключи с тем, что существует в переменных конвейера.
Использование пар "ключ-значение" в последующих задачах
Пары "ключ-значение", полученные из Конфигурации приложения, устанавливаются в виде переменных конвейера, которые доступны как переменные среды. Ключом переменной среды — это ключ из пары "ключ-значение", который извлекается из Конфигурации приложения после усечения префикса, если он указан.
Например, если в последующей задаче выполняется сценарий PowerShell, он может использовать пару "ключ-значение" с ключом "myBuildSetting" следующим образом:
echo "$env:myBuildSetting"
Значение будет отображено в консоли.
Примечание.
Ссылки Azure Key Vault в Конфигурации приложения будут разрешены и установлены как секретные переменные. В конвейерах Azure секретные переменные скрываются из журнала. Они не передаются в задачи в виде переменных среды и вместо этого должны передаваться в качестве входных данных.
Устранение неполадок
При возникновении непредвиденной ошибки можно включить журналы отладки, задав для переменной конвейера system.debug
значение true
.
Вопросы и ответы
Как создать конфигурацию из нескольких ключей и меток?
Иногда может потребоваться, чтобы конфигурация состояла из нескольких меток, например "по умолчанию" и "разработка". Для реализации этого сценария можно использовать несколько задач Конфигурации приложения в одном конвейере. Пары "ключ-значение", полученные задачей на более позднем этапе, переопределят все значения, полученные на предыдущих этапах. В приведенном выше примере задача может использоваться для выбора пары "ключ-значение" с меткой по умолчанию, а вторая задача может выбрать пару "ключ-значение" с меткой "dev". Ключи с меткой "dev" будут переопределять те же ключи с меткой по умолчанию.