Развертывание конвейера Azure DevOps происходит каждый раз
В настоящее время пытаются настроить конвейер выпуска в Azure Devops. Я успешно создал конвейер CI, который работает и успешно выполняет тесты. Мой конвейер выпуска использует артефакты из последней сборки CI и должен быть развернут в Azure. Когда я просматриваю логи, я вижу, что следующее было успешно выполнено:
- Агент инициализации
- Инициализировать работу
- Скачать арифакт
а затем происходит сбой "Развертывание в службу приложений Azure" с журналами, показывающими следующие данные:
2019-02-07T19:06:57.5433805Z Got service connection details for Azure App Service:'MyApp'
2019-02-07T19:06:57.5487495Z ##[error]Error: Failed to get resource ID for resource type 'Microsoft.Web/Sites' and resource name 'MyAPP'. Error: Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: 400, status message: Bad Request
2019-02-07T19:06:57.5496340Z Failed to add release annotation. TypeError: Cannot read property 'getApplicationSettings' of undefined
До сих пор я не мог найти много, чтобы помочь с этим. Я создал конвейер выпуска, выбрав Azure App Service deployment
из шаблонов для первого этапа трубопровода (у меня есть только один этап), и я добавил артефакт, источником которого является мой конвейер сборки. Затем я выбрал вкладку "Задачи" и выбрал свою подписку с оплатой по факту в разделе "Доступные подключения службы Azure". После выбора моей подписки мое имя службы приложения стало доступно в раскрывающемся списке "Имя службы приложения", и я выбрал его. Затем я нажал "Сохранить" и попытался создать выпуск, но каждый выпуск завершается ошибкой с приведенным выше сообщением об ошибке.
Что я могу сделать, чтобы преодолеть это?
2 ответа
Наконец-то нашел решение моей проблемы. Проблема была в том, как я установил соединение со службой. Я пошел в:
настройки проекта -> сервисные соединения -> новое сервисное соединение -> выбранный менеджер ресурсов Azure -> выбранная аутентификация субъекта-службы INSTEAD OF управляемая идентификация личности -> появилось всплывающее окно, которое позволило мне войти в систему и авторизоваться.
Затем я использовал это сервисное соединение при создании конвейера выпуска вместо уже существующей подписки Pay-As-You-Go, которую я использовал в прошлый раз.
Ранее, когда я попробовал это, у меня был запущен блокировщик рекламы, и он заблокировал всплывающее окно, которое позволило мне авторизоваться, когда я выбрал аутентификацию субъекта службы. Это привело к сообщению об ошибке "Невозможно авторизовать учетную запись", именно поэтому я пошел с проверкой подлинности с помощью управляемой идентификации.
В моем случае это было связано с расширением Chrome, которое я добавил плагин enable CORS. После отключения конвейер выпуска работал нормально