【发布时间】:2020-08-11 11:10:47
【问题描述】:
目前,只要我们的构建在本地运行,我们首先会删除配置的 ADO nuget 提要:
nuget sources remove -name OurFeed
然后我们使用 Credential Provider 给我们一个新的令牌,并用这个重新创建提要:
$feed = "https://pkgs.dev.azure.com/ourfeed/_packaging/ourfeed/nuget/v3/index.json"
$creds = (& CredentialProvider.VSS.exe -U $feed | ConvertFrom-Json)
Exec { & nuget sources add -name OurFeed -username $creds.Username -password $creds.Password -storepasswordincleartext -source $feed }
当然,每个构建都这样做是非常低效的。我们这样做的原因是因为我们需要在构建项目之前确保 ADO 身份验证令牌没有过期。
在执行此操作之前,我们是否可以(非常快速地)检查提要令牌是否仍然有效?
【问题讨论】:
-
如果您安装凭据提供程序以便 NuGet 可以自己发现它,那么您不需要将令牌放入您的 nuget.config,NuGet 将自动使用凭据提供程序获取令牌-需求。
-
@zivkan 您能否详细说明一下,NuGet 是如何发现 CredentialProvider 本身的?
标签: azure authentication azure-devops nuget