2016-03-22 41 views
5

La mia azienda ha molti account di Visual Studio Team Services. Ne abbiamo uno per il nostro sviluppo interno e uno per ciascuno dei nostri clienti. Stiamo ospitando le nostre librerie interne di nuget nel nostro account di sviluppo interno (https://{dev-account}.visualstudio.com/DefaultCollection) e desidero ripristinare i pacchetti durante l'esecuzione di una build nell'account di un cliente (https://{client-account}.visualstudio.com/DefaultCollection).È possibile ripristinare i pacchetti in un feed VSTS che appartiene a un altro account VSTS?

Ho impostato il repository utilizzando bootstrap tools e nel mio build VSTS ho aggiunto un passo di generazione di Script batch eseguito da init.cmd. Che funziona bene, tuttavia, il passo successivo è NuGet pacchetto di ripristino in cui non riesce a trovare i pacchetti nel proprio account dev alimentazione NuGet:

2016-03-22T23: 34: 37.5398840Z Si prega di fornire le credenziali per: https: // {dev-account} .pkgs.visualstudio.com/DefaultCollection/_packaging/{my-feed} /nuget/v3/index.json

2016-03-22T23: 34: 37.5408842Z UserName: Password : AVVISO: impossibile trovare la versione '1.9.0.10' del pacchetto '{my-package}'.

Questo ha senso, poiché il feed si trova in un account VSTS separato e l'agente di generazione non dispone dell'autorizzazione per accedere al feed.

C'è comunque intorno a questo? Sono a conoscenza di MyGet, che offre feed pubblici gratuiti, ma mi piacerebbe utilizzare VSTS, se possibile.

risposta

2

Non sono entusiasta di questa soluzione, ma funziona. È possibile memorizzare le credenziali per un'origine del pacchetto in 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> 
+0

Accetto, ma si spera funziona – Andrii