Я пытался использовать командлеты PowerShell PowerApps (https://powerapps.microsoft.com/en-us/blog/gdpr-admin-powershell-cmdlets/) в DevOps и потерпел неудачу. Они очень хорошо работают на рабочем столе, но когда я запускаю их в задаче PowerShell в DevOps, они всегда останавливаются, без ошибок. Он просто запускается, но никогда не завершается или сообщает об ошибке. Я уверен, что есть какая-то деталь, которую мне не хватает, я просто не знаю, что. Может ли кто-нибудь помочь мне встать на правильный путь?
Использование командлета Powershell в Azure DevOps
9 августа 2021 в 05:44
279
1
Ответы (1)
13 августа 2021 в 13:47
Полагаю, вы использовали интерактивный способ входа в систему с помощью Add-PowerAppsAccount
. В конвейере Azure DevOps интерактивный способ не поддерживается.
В этом случае вы можете установить модули с -Force
и использовать неинтерактивный способ входа в систему, например. как указано в блоге.
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Force
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber -Force
$pass = ConvertTo-SecureString "password" -AsPlainText -Force
Add-PowerAppsAccount -Username foo@bar.com -Password $pass
Примечание. Убедитесь, что для учетной записи пользователя не включена многофакторная аутентификация, иначе вы не сможете использовать ее в конвейере.
18 августа 2021 в 21:32
Стоит упомянуть, что это хороший подход при работе с общедоступным PowerShell Gallery
, но при использовании внутреннего канала галереи я бы рекомендовал пометить репозиторий как доверенный, при условии, что общедоступные пакеты через него недоступны.
Так, например, если вы запустите этот powershell, что вы увидите в журналах:
Write-Host "##vso[task.logissue type=command]Testing powershell"
Я бы посоветовал следовать этому docs.microsoft.com/en-us/power-platform/alm/devops-build-tools . После создания субъекта-службы вы можете создать ServiceConnection в AzureDevops и зависеть от задачи AzurePowershell. В противном случае создайте секретную переменную и используйте ее с задачей PowerShell.
@Nick.McDermaid Я получаю ответ: 2021-08-09T06:31:24.2836583Z ##[error]Невозможно обработать команду '##vso[task.logissue type=command]Успешное тестирование powershell. См. документацию (go.microsoft.com/fwlink/?LinkId=817296) 2021-08-09T06:31:24.2846958Z ##[error]issue type не является ожидаемым типом задачи. Я пропустил зависимость здесь?
@koushik yes Я использую субъект-службу и инструменты сборки MS для большинства задач, но не пробовал задачу Azure PowerShell.
@LarsChristianJensen для регистрации проблем из Powershell, Write-Host "##vso[task.logissue type=error]Произошла ошибка"