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