身份验证安装在VSTS中托管的Chocolatey软件包

时间:2017-08-20 17:39:42

标签: azure-devops chocolatey credential-providers

在工作中,我们创建存储在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;时,仍然会提示我输入用户名和密码。

1 个答案:

答案 0 :(得分:2)

尝试以下步骤:

  1. Packages.config
  2. 中定义包
  3. 致电choco source add command添加其他来源(使用choco来源列表检查来源)
  4. 致电choco install [packages.config] command以安装套餐。