在工作中,我们创建存储在VSTS中的nuget包。所有开发人员都将我们的存储库添加到全局nuget.config(在文件夹%appdata%\ Nuget中),创建了个人访问令牌(PAT),并安装了CredentialProvider.VSS.exe。因此,使用命令行恢复nuget包,例如nuget.exe restore
,无需提供任何密码或用户名即可完成。
当使用相同的巧克力包配方时,事情就不那么好了。 blog at roadtoalm.com描述了如何安装存储在VSTS中的Chocolatey软件包,但是你必须提供PAT,存储库地址和用户名(虽然后者可能是一个伪造的值,它没有被使用) )。有没有办法让Chocolatey像nuget一样使用凭据提供程序?
更新: 将我的Choco存储库添加到已知存储库列表后,我的chocolatey.config文件看起来像
<sources>
<source id="chocolatey" value="https://chocolatey.org/api/v2/" disabled="true" bypassProxy="false" selfService="false" priority="0" />
<source id="CompanyChoco" value="https://Company.pkgs.visualstudio.com/_packaging/CompanyChoco/nuget/v2/" disabled="false" bypassProxy="false" selfService="false" priority="1" />
</sources>
根据@ starain-MSFT的建议,我创建了一个package.config文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MyPackage" version="0.0.4" source="https://Company.pkgs.visualstudio.com/_packaging/CompanyChoco/nuget/v2/" />
</packages>
我还确保在%appdata%\ local \ nuget \ credentialproviders中安装了最新版本的CredentialProvider.VSS.exe。 在执行&#34; choco install package.config&#34;时,仍然会提示我输入用户名和密码。
答案 0 :(得分:2)
尝试以下步骤: