Доступ к конфигурации приложений Azure из проекта модульного тестирования, запущенного из конвейера Azure DevOps

Я развертываю новый проект в Azure Pipeline, у меня есть модульные тесты в этих проектах. Модульные тесты должны иметь доступ к конфигурации приложения Azure. Каков наилучший способ аутентификации моего проекта для доступа к конфигурации приложения Azure?

Я не знаю, как оттуда использовать управляемое удостоверение...

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
59
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я не знаю, как использовать оттуда управляемое удостоверение.

  1. Чтобы использовать управляемое удостоверение, вы можете использовать azure VM в качестве агента self-hosted, чтобы включить managed identity на агенте.

  2. Назначьте управляемое удостоверение конфигурации приложения Azure и присвойте управляемому удостоверению роль App Configuration Data Reader.

  3. Пожалуйста, проверьте документ, чтобы использовать управляемое удостоверение в своем проекте модульного тестирования.

Пожалуйста, обратитесь к ссылкам ниже для более подробной информации:

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

Запуск проектов модульного тестирования с конфигурацией приложений Azure в Azure DevOps Pipeline

Ответ принят как подходящий

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

Чтобы иметь возможность пройти аутентификацию в Azure AppConfiguration из моего модульного теста, запущенного моим конвейером, я использовал задачу Azurecli, которая имеет контекст ServiceConnection, и выполнил команду dotnet test, затем экспортировал результаты теста и покрытие кода, чтобы у Azure DevOps было все. это нужно

  - task: AzureCLI@1
    inputs:
      azureSubscription: 'devops-serviceconnection-dev'
      scriptLocation: 'inlineScript'
      inlineScript: |
        cd .\SharepointFileTransfer.Test\
        dotnet add package coverlet.collector
        dotnet test --logger "trx;LogFileName=TestResults.trx" --results-directory $(Build.ArtifactStagingDirectory)/TestResults --collect:"XPlat Code Coverage"

  - task: PublishCodeCoverageResults@2
    inputs:
      summaryFileLocation: '$(Build.ArtifactStagingDirectory)/**/*coverage.cobertura.xml'
      failIfCoverageEmpty: false

  - task: PublishTestResults@2
    inputs:
      testResultsFormat: 'VSTest'
      testResultsFiles: '$(Build.ArtifactStagingDirectory)/TestResults/*.trx'
      mergeTestResults: true
      failTaskOnFailedTests: true

а затем я использовал AzureCliCredential для своего модульного теста для доступа к Azure AppConfiguration.

var builder = new ConfigurationBuilder();
builder.AddAzureAppConfiguration(options =>
{
    var visualStudioCredential = new VisualStudioCredential(new VisualStudioCredentialOptions() { TenantId = TenantId });
    var tokenCredential = new ChainedTokenCredential(visualStudioCredential, new AzureCliCredential(), new ManagedIdentityCredential());
    options.Connect(new Uri(AppConfigurationEndpoint), tokenCredential)
        .Select("SharepointFileTransfer:*", "dev");
});
Configuration = builder.Build();

Другие вопросы по теме

Как добавить разрешения Microsoft Graph к субъекту-службе управляемой идентификации с помощью Az PowerShell?
Как загрузить большие файлы в Onedrive с помощью Python
Предоставление доступа субъекту службы управляемой идентификации — Microsoft Graph PowerShell
Используйте сертификат PFX для получения токена Microsoft Entra. Ошибка: secretOrPrivateKey должен быть асимметричным ключом при использовании RS256
Как я могу подтвердить доступ к хранилищу BLOB-объектов в Python с помощью токена OAuth2?
Как добавить владельца в каталог управления правами Azure в PowerShell или с помощью API Graph?
Журналы запросов из Application Insights в Python — InsufficientAccessError
Клиенту службы Microsoft Graph не удается ИСПРАВИТЬ пользовательские атрибуты безопасности
Репликация REST API конфигурации управляемого удостоверения виртуальной машины Azure с помощью PowerShell Invoke-RestMethod
Ошибка PermissionDenied API пользовательского зрения Azure при использовании define_image в Python