Azure Pipelines 错误“TF401444:请至少登录一次:...”

2023-12-10

我想在管道中添加“创建工作项”步骤。它应该是在管道发生故障时创建错误单。我在自己的虚拟机上运行管道,因此我必须登录 Azure 并且我想为其使用服务主体:

az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>

我相信这一步效果很好,因为我收到了回复(如下面的屏幕截图所示)。接下来,我执行命令来创建错误单:

az boards work-item create --organization https://dev.azure.com/my_org --project "Project" --type Bug --title "title" --description "desc" --output json --assigned-to ...

此时我不断收到错误:

"TF401444: Please sign-in at least once as: credentials/of/tenant in a web browser to enable access to the service".

执行截图

我已经尝试使用我的帐户凭据进行登录

az login -u mail -p psw

它工作正常,并且创建了错误票证,但正如您可以猜到的那样,我不想继续使用我的登录凭据在管道中登录到 Azure。 我还尝试使用 PAT 来实现,命令如下:

echo $(PAT) | az login

但这需要我连接到虚拟机才能登录我的帐户并通知一条消息:

WARNING: A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with az login --use-device-code.

记录后,还创建了错误票证,但我不想每次执行都执行此操作,因为管道应该是自动化的。

你知道我怎样才能摆脱这个错误吗?

或者您对更好的日志记录有什么建议吗?


我发现了一些解决方法:您可以使用 $(System.AccessToken) 在管道中使用“脚本”步骤登录,而不是使用 AzureCLI。

- script: az config set extension.use_dynamic_install=yes_without_prompt
displayName: 'Allow extensions'
- script: echo $(System.AccessToken) | az devops login
displayName: 'Login to DevOps'
- script: |
    az boards work-item create --organization https://dev.azure.com/org --project "abc" --type Bug ...
displayName: 'Create a bug ticket'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Pipelines 错误“TF401444:请至少登录一次:...” 的相关文章

随机推荐