您是否可以在属于另一个VSTS帐户的VSTS Feed中恢复包?

时间:2016-03-22 23:49:45

标签: nuget tfsbuild azure-devops

我公司有很多Visual Studio Team Services帐户。我们有一个用于内部开发,一个用于我们的每个客户。我们在内部开发帐户(https://{dev-account}.visualstudio.com/DefaultCollection)中托管我们的内部nuget库,并且我希望在客户端帐户(https://{client-account}.visualstudio.com/DefaultCollection)中运行构建时还原软件包。 / p>

我使用bootstrap tools设置了存储库,在我的VSTS构建中,我添加了一个批处理脚本构建步骤,执行init.cmd。这很好,但是,下一步是NuGet Package Restore,它无法在开发帐户的NuGet提要中找到这些包:

  

2016-03-22T23:34:37.5398840Z请提供以下证明:   HTTPS:// {DEV-帐户} .pkgs.visualstudio.com / DefaultCollection / _包装/ {我的馈送} /nuget/v3/index.json

     

2016-03-22T23:34:37.5408842Z用户名:密码:警告:无法执行   找到版本' 1.9.0.10'包' {my-package}'。

这是有道理的,因为Feed位于单独的VSTS帐户中,而构建代理无权访问该Feed。

这周围有吗?我知道MyGet,它提供免费的公共供稿,但如果可能的话,我想使用VSTS。

1 个答案:

答案 0 :(得分:2)

我对此解决方案并不感到兴奋,但它确实有效。您可以在nuget.config中存储包源的凭据:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <clear />
    <add key="repositoryPath" value="packages" />
  </config>
  <packageSources>
    <!-- When <clear /> is present, previously defined sources are ignored -->
    <!-- Remove this tag or un-comment the nuget.org source below to restore packages from nuget.org -->
    <!-- For more info, see https://docs.nuget.org/consume/nuget-config-file -->
    <clear />
    <add key="vss-package-management" value="https://www.myget.org/F/vss-package-management/api/v2" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="{dev-account}" value="https://{dev-account}.pkgs.visualstudio.com/DefaultCollection/_packaging/{feed}/nuget/v3/index.json" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSourceCredentials>
    <{dev-account}>
      <add key="Username" value="username" />
      <add key="ClearTextPassword" value="password" />
    </{dev-account}>
  </packageSourceCredentials>
</configuration>
相关问题