2017-08-20 44 views
1

在工作中,我们创建了我们在VSTS中存储的nuget套装。所有开发人员都已将我们的存储库添加到全局nuget.config(在文件夹%appdata%\ Nuget中),创建了个人访问令牌(PAT),并安装了CredentialProvider.VSS.exe。因此,使用命令行恢复nuget软件包,例如在不需要提供任何密码或用户名的情况下完成。Authenticicaion在VSTS中安装巧克力套装

对巧克力套餐使用相同的食谱时,事情并不奏效。 blog at roadtoalm.com描述了如何安装存储在VSTS中的Chocolatey包,但是您必须提供PAT,存储库地址和用户名(虽然后者可能是假的值,但不会被使用)。有没有办法让巧克力使用凭证提供者,就像nuget正在做的一样?

更新: 已经加入我的巧克力仓库已知回购列表后,我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,我创建了一个包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%\本地\的NuGet \ credentialproviders CredentialProvider.VSS.exe的最新版本。 在执行“choco install package.config”时,我仍然收到提示输入用户名和密码。

回答

2

这些步骤试试:

  1. 定义包在Packages.config
  2. 呼叫choco source add command添加其它来源(使用巧克力源列表检查源)
  3. 呼叫choco install [packages.config] command安装软件包。
+0

继您在步骤1中提到的链接后,我发现packages.config是您想要下载一堆Choco包时使用的东西,所以我不明白这会有什么帮助。步骤2-3正是我已经做的,但是当Choco包存储在VSTS中时,这是不够的。请注意,问题是关于存储在VSTS中的Choco包,而不是关于一般的Chocolatey存储库。 – SimonAx

+0

@SimonAx 1. packages.config定义了您想要安装的软件包,您也可以指定软件包的源代码。那么你能提供样本来解释你的要求吗? 2.是的,软件包存储在VSTS中,choco source add命令用于添加您的VSTS Feed,您可以指定优先级(--priority,高于其他优先级),然后它将查找VSTS源中的软件包第一。顺便说一句,CredentialProvider.VSS.exe将有助于身份验证。 –

+0

问题解决:在步骤2中,确保添加用户名和密码。 PAT的散列版本将存储在choco配置文件中。语法是'choco sources add -n'NameOfRepo“-s”https://Company.pkgs.visualstudio.com/_packaging/CompanyChoco/nuget/v2/"'-u“DoesntMatter”-p“PAT”连接到虽然使用v3的repo不起作用(也在原始问题中提供的链接中指出)。 – SimonAx

相关问题