Upstream-bronnen gebruiken in een openbare feed

Met Azure Artifacts kunnen ontwikkelaars hun afhankelijkheden van één feed beheren. Met behulp van upstream-bronnen kunt u pakketten van feeds en openbare registers, zoals NuGet.org, en npmjs.com gebruiken. In dit artikel leert u het volgende:

  • Een openbare feed maken
  • Upstream-bronnen inschakelen
  • Een nieuwe upstream-bron toevoegen

Vereisten

Belangrijk

Pakketvergrendelingsbestanden helpen bij reproduceerbare builds en het minimaliseren van de scenario's waarin een anonieme gebruiker om referenties wordt gevraagd bij het gebruik van openbare feeds.

Een openbare feed maken

Een openbare feed is een feed met projectbereik in een openbaar project. Openbare feeds nemen de zichtbaarheidsinstellingen van het hostingproject over.

  1. Meld u aan bij uw Azure DevOps-organisatie en selecteer vervolgens uw openbare project.

  2. Selecteer Artefacten en selecteer vervolgens Feed maken.

    Een schermopname van de knop Feed maken in Azure Artifacts.

  3. Geef uw feed een naam en selecteer vervolgens Project: PublicProject (aanbevolen) voor het bereik.

    Een schermopname die laat zien hoe u een nieuwe openbare feed maakt.

  4. Selecteer Maken wanneer u klaar bent.

Een upstream-bron toevoegen

  1. Meld u aan bij uw Azure DevOps-organisatie en selecteer vervolgens uw openbare project.

  2. Selecteer Artefacten en selecteer vervolgens uw openbare feed.

  3. Selecteer het tandwielpictogram tandwielpictogram om toegang te krijgen tot uw feed-Instellingen.

  4. Selecteer Upstream-bronnen en selecteer Vervolgens Upstream toevoegen.

    Een schermopname die laat zien hoe u een upstream-bron toevoegt in een openbare feed.

  5. Selecteer uw upstream-brontype. In dit voorbeeld voegen we NuGet.org toe als een upstream-bron.

    Een schermopname van de verschillende typen upstream-bronnen.

  6. Configureer uw bron en selecteer Opslaan wanneer u klaar bent.

    Een schermopname die laat zien hoe u uw upstream-bron configureert.

  7. Selecteer Opslaan om de nieuwe upstream-bron op te slaan.

    Een schermopname die laat zien hoe u de zojuist toegevoegde upstream-bron opslaat.

Belangrijk

Openbare feeds bieden geen ondersteuning voor upstreaming naar een privéartefactenfeed. Als u een openbare Azure Artifacts-feed gebruikt, kunt u alleen upstream naar openbare registers (NuGet.org, npmjs) of andere openbare Azure Artifacts-feeds.

Pakketten herstellen

Voer de volgende opdracht uit in een opdrachtprompt met verhoogde bevoegdheid:

nuget.exe restore

Notitie

U moet een feed en Upstream Reader (Samenwerker) of hoger zijn om nieuwe pakketversies te installeren vanuit upstream. Anonieme gebruikers kunnen alleen pakketten installeren die in hun feed aanwezig zijn.

Q&A

V: Ik probeer mijn pakketten te herstellen, maar ik krijg een 401 niet-geautoriseerde fout?

De inhoud van een feed kan alleen worden gewijzigd door een geverifieerde en geautoriseerde identiteit met de juiste machtigingen voor de feed. Dit omvat het opslaan van pakketten in de feed vanuit een upstream-bron. Niet-geverifieerde (anonieme) gebruikers kunnen pakketten downloaden die al zijn opgeslagen in een feed, maar kunnen geen nieuwe pakketten van een upstream opslaan in de feed.

Onderhouders van een project moeten alle benodigde versies van pakketten opslaan in de openbare feed. U kunt dit doen door een project te herstellen met behulp van een identiteit die referenties kan opgeven voor de feed wanneer hierom wordt gevraagd en ervoor te zorgen dat de gebruikte identiteit feed- en upstreamlezermachtigingen (samenwerker) of hoger heeft voor de openbare feed.

Als anonieme gebruikers die pakketten voor een project herstellen herhaaldelijk worden geblokkeerd door aanvragen voor referenties (401-antwoord), verminderen of elimineren de volgende benaderingen het probleem:

  1. Vermijd het gebruik van pakketversiebereiken in de projectconfiguratie. Expliciete pakketversies zorgen ervoor dat pakketten alleen de exacte versie aanvragen die nodig zijn.

  2. Gebruik, indien ondersteund, vergrendelingsbestanden voor uw verpakkingsecosysteem, zodat de verpakkingsclients alleen de specifieke versies aanvragen die nodig zijn voor het project tijdens een herstel-/installatiebewerking.

V: Ik probeer mijn pakketten te herstellen met Visual Studio, maar ik weet dat ze worden opgehaald uit een andere bron?

A: Zorg ervoor dat Visual Studio de bron gebruikt waarnaar wordt verwezen in uw nuget.config-bestand en niet vanuit het lokale NuGet-pakketbeheer. Zie Pakketbronnen voor meer informatie.

U kunt de NuGet CLI ook gebruiken om NuGet af te dwingen de bron in uw configuratiebestand te gebruiken door de volgende opdracht uit te voeren:

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>