Condividi tramite


Usare le origini upstream in un feed pubblico

Azure Artifacts consente agli sviluppatori di gestire le relative dipendenze da un singolo feed. Usando le origini upstream, è possibile utilizzare pacchetti da feed e registri pubblici, ad esempio NuGet.org e npmjs.com. In questo articolo si apprenderà come:

  • Creare un feed pubblico
  • Abilitare le origini upstream
  • Aggiungere una nuova origine upstream

Prerequisiti

Importante

I file di blocco del pacchetto sono utili per le compilazioni riproducibili e per ridurre al minimo gli scenari in cui un utente anonimo richiederà le credenziali quando si usano feed pubblici.

Creare un feed pubblico

Un feed pubblico è un feed con ambito progetto in un progetto pubblico. I feed pubblici ereditano le impostazioni di visibilità del progetto di hosting.

  1. Accedere all'organizzazione di Azure DevOps e quindi selezionare il progetto pubblico.

  2. Selezionare Artefatti e quindi Crea feed.

    Screenshot che mostra il pulsante Crea feed in Azure Artifacts.

  3. Assegnare un nome al feed e quindi selezionare Progetto: PublicProject (scelta consigliata) per il relativo ambito.

    Screenshot che mostra come creare un nuovo feed pubblico.

  4. Al termine, fare clic su Crea.

Aggiungere un'origine upstream

  1. Accedere all'organizzazione di Azure DevOps e quindi selezionare il progetto pubblico.

  2. Selezionare Artefatti e quindi selezionare il feed pubblico.

  3. Selezionare l'icona icona a forma di ingranaggio a forma di ingranaggio per accedere al feed Impostazioni.

  4. Selezionare Origini upstream e quindi Aggiungi upstream.

    Screenshot che mostra come aggiungere un'origine upstream in un feed pubblico.

  5. Selezionare il tipo di origine upstream. In questo esempio si aggiungerà NuGet.org come origine upstream.

    Screenshot che mostra i diversi tipi di origini upstream.

  6. Configurare l'origine e quindi selezionare Salva al termine.

    Screenshot che mostra come configurare l'origine upstream.

  7. Selezionare Salva per salvare la nuova origine upstream.

    Screenshot che mostra come salvare l'origine upstream appena aggiunta.

Importante

I feed pubblici non supportano l'upstreaming in un feed artifacts privato. Se si usa un feed pubblico di Azure Artifacts, è possibile eseguire l'upstream solo ai registri pubblici (NuGet.org, npmjs) o ad altri feed di Azure Artifacts pubblici .

Ripristinare pacchetti

Eseguire il comando seguente in un prompt dei comandi con privilegi elevati:

nuget.exe restore

Nota

Per installare nuove versioni dei pacchetti da upstream, è necessario essere un lettore feed e upstream (collaboratore) o versione successiva. Gli utenti anonimi possono installare solo i pacchetti esistenti nel feed.

Domande e risposte

D: Si sta tentando di ripristinare i pacchetti, ma si continua a ricevere un errore 401 non autorizzato?

Il contenuto di un feed può essere modificato solo da un'identità autenticata e autorizzata che dispone delle autorizzazioni appropriate per il feed. Ciò include il salvataggio dei pacchetti nel feed da un'origine upstream. Gli utenti non autenticati (anonimi) possono scaricare i pacchetti già salvati in un feed, ma non possono salvare nuovi pacchetti da un upstream nel feed.

I gestori di un progetto devono salvare tutte le versioni necessarie dei pacchetti nel feed pubblico. Questa operazione può essere eseguita ripristinando un progetto usando un'identità che può fornire le credenziali al feed quando richiesto e verificando che l'identità usata abbia autorizzazioni di lettura feed e upstream (collaboratore) o superiori per il feed pubblico.

Se gli utenti anonimi che ripristinano pacchetti per un progetto vengono bloccati ripetutamente dalle richieste di credenziali (risposta 401), gli approcci seguenti ridurranno o elimineranno il problema:

  1. Evitare di usare gli intervalli di versioni del pacchetto nella configurazione del progetto. Le versioni esplicite dei pacchetti garantiscono che i client di creazione di pacchetti richiedano solo la versione esatta necessaria.

  2. Se supportato, utilizzare i file di blocco per l'ecosistema di pacchetti in modo che i client di creazione pacchetti richiedano solo le versioni specifiche necessarie per il progetto durante un'operazione di ripristino/installazione.

D: Si sta tentando di ripristinare i pacchetti usando Visual Studio, ma si nota che viene eseguito il pull da un'origine diversa?

R: Assicurarsi che Visual Studio usi l'origine a cui si fa riferimento nel file nuget.config e non dalla gestione pacchetti NuGet locale. Per altri dettagli, vedere Origini dei pacchetti .

È anche possibile usare l'interfaccia della riga di comando di NuGet per forzare l'uso dell'origine nel file di configurazione eseguendo il comando seguente:

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>