我正在使用Windows 10,Azure PowerShell Az模块,DevOps扩展0.18.0
我已登录DevOps实例,并能够运行所有相关命令。现在,我需要登录到其他组织/项目。每次执行login子命令时,窗口都会挂起并锁定,我必须重新启动PowerShell ISE才能重试。
我正在使用的命令(我已经尝试了几种变体)是:
> az login
> $env:AZURE_DEVOPS_EXT_PAT ='{PAT}'
> az devops login --organization https://dev.azure.com/{org} --debug
在这里挂!!
下面的调试日志
az devops登录--organization https://dev.azure.com/{org} --debug
CategoryInfo : NotSpecified: (Command argumen...nn', '--debug']:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError Event: Cli.PreExecute [] Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x03A171E0>, <function OutputProducer.on_global_arguments at 0x03B3AA98>, <function CLIQuery.on_global_arguments at 0x03B5CCD8>] Event: CommandInvoker.OnPreCommandTableCreate [] Modules found from index for 'devops': ['azext_devops'] Loading command modules: Name Load Time Groups Commands Total (0) 0.000 0 0 These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_ai_did_you_mean_this'] Loading extensions: Name Load Time Groups Commands Directory azure-devops 0.110 60 191 C:\Users\{username}\.azure\cliextensions\azure-devops Total (1) 0.110 60 191 Loaded 60 groups, 191 commands. Found a match in the command table for 'devops login' Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x03C2B978>] az_command_data_logger : command args: devops login --organization {} --debug metadata file logging enabled - writing logs to 'C:\Users\{username}\.azure\commands'. Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument.<locals>.add_subscription_parameter at 0x03D69660>] Event: CommandInvoker.OnPostArgumentLoad [] Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument.<locals>.add_ids_arguments at 0x03D69618>, <function register_cache_arguments.<locals>.add_cache_arguments at 0x03D69E40>] Event: CommandInvoker.OnCommandTableLoaded [] Event: CommandInvoker.OnPreParseArgs [] Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x03B3AAE0>, <function CLIQuery.handle_query_parameter at 0x03B5CD20>, <function register_ids_argument.<locals>.parse_ids_arguments at 0x03D69DF8>, <function DevCommandsLoader.post_parse_args at 0x03CF6150>] az_command_data_logger : extension name: azure-devops az_command_data_logger : extension version: 0.18.0
我已确认所有这些,我仍然可以从我开始的组织/项目中访问DevOps(管道,发行版等)。因此注销也失败。
这是怎么回事?任何想法为什么会这样?
答案 0 :(得分:0)
现在,我需要登录到其他组织/项目。
场景1:目标组织/项目仍在同一用户帐户下
如果您要使用的目标组织/项目仍然在同一用户帐户下,那么此时,您无需注销并重新登录。
只需运行以下命令即可使用以下命令更改默认组织/项目:
az devops configure --defaults organization=https://dev.azure.com/{org name}
然后,您无需重新登录即可与另一个组织/项目一起工作。
方案2:目标组织/项目在另一个用户帐户下
如果实际情况是您必须更改为使用另一个帐户登录才能使用该组织/项目,请运行以下命令首先注销:
az logout --username "{another account}"
然后重新运行az login
以使用另一个帐户地址登录。您现在应该成功了。
答案 1 :(得分:0)
如果您设置了 $env:AZURE_DEVOPS_EXT_PAT='{PAT}'
,则无需运行 az devops login
。您可以开始使用所需的命令。例如:az repos list --org https://dev.azure.com/{ORG} --project {PROJECT}
.
而且它似乎挂起是因为它无法安装 keyring~=17.1.1 包(及其 deps)。您可以像这样手动添加该包:py -m pip install --target ~\.azure\cliextensions\azure-devops keyring~=17.1.1
。
指定keyring包版本的文件:azure-devops/azext_devops/dev/common/pip_helper.py