【发布时间】:2017-08-20 17:39:42
【问题描述】:
在工作中,我们创建存储在 VSTS 中的 nuget 包。所有开发人员都已将我们的存储库添加到全局 nuget.config(在文件夹 %appdata%\Nuget 中),创建了个人访问令牌 (PAT),并安装了 CredentialProvider.VSS.exe。因此使用命令行恢复 nuget 包,例如nuget.exe restore,无需提供任何密码或用户名即可完成。
如果对 Chocolatey 包装使用相同的配方,事情就不那么好了。 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。 执行“choco install package.config”时,仍然会提示我输入用户名和密码。
【问题讨论】:
标签: azure-devops chocolatey credential-providers