Upstream-bronnen gebruiken in een openbare feed
Azure DevOps Services
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
een Azure DevOps-organisatie. Maak een organisatie als u er nog geen hebt.
Een Azure DevOps-project. Maak een nieuw project als u er nog geen hebt.
Stel de zichtbaarheid van uw project in op openbaar.
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.
Meld u aan bij uw Azure DevOps-organisatie en selecteer vervolgens uw openbare project.
Selecteer Artefacten en selecteer vervolgens Feed maken.
Geef uw feed een naam en selecteer vervolgens Project: PublicProject (aanbevolen) voor het bereik.
Selecteer Maken wanneer u klaar bent.
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.
Een upstream-bron toevoegen
Meld u aan bij uw Azure DevOps-organisatie en selecteer vervolgens uw openbare project.
Selecteer Artefacten en selecteer vervolgens uw openbare feed.
Selecteer het tandwielpictogram voor toegang tot uw feedinstellingen.
Selecteer Upstream-bronnen en selecteer Vervolgens Upstream toevoegen.
Selecteer uw upstream-brontype. In dit voorbeeld voegen we NuGet.org toe als een upstream-bron.
Configureer uw bron en selecteer Vervolgens Toevoegen wanneer u klaar bent.
Selecteer Opslaan om de nieuwe upstream-bron op te slaan.
Belangrijk
Pakketvergrendelingsbestanden zijn vereist om NuGet- en Dotnet-pakketten van upstream-bronnen op te slaan in een openbare feed.
Pakketten herstellen
Voer de volgende opdracht uit in de projectmap om uw pakketten te herstellen:
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.
V&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:
Vermijd het gebruik van pakketversiebereiken in de projectconfiguratie. Expliciete pakketversies zorgen ervoor dat pakketten alleen de exacte versie aanvragen die nodig zijn.
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>