Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Met behulp van upstream-bronnen in Azure Artifacts kunt u al uw toepassingsafhankelijkheden van één feed beheren. Het vereenvoudigt het gebruik van pakketten uit openbare registers, zoals NuGet.org of npmjs.com, en biedt ook bescherming tegen storingen of gecompromitteerde pakketten. U kunt ook uw eigen pakketten publiceren naar dezelfde feed en al uw afhankelijkheden op één locatie beheren.
In deze zelfstudie wordt u begeleid bij het inschakelen van upstream-bronnen in uw feed en het verbruiken van pakketten uit openbare registers, zoals NuGet.org of npmjs.com.
Vereiste voorwaarden
Een feed maken en upstream-bronnen inschakelen
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en kies Feed maken om een nieuwe feed te maken.
Geef een naam op voor uw feed, kies de zichtbaarheid en het bereik en zorg ervoor dat u het selectievakje Inclusief-pakketten uit algemene openbare bronnen inschakelt om upstream-bronnen in te schakelen.
Klik op Create wanneer je klaar bent.
Belangrijk
Als u een feed van een andere organisatie wilt toevoegen als een upstream-bron, moet de eigenaar van de doelfeed de doelweergave delen met Alle feeds en personen in organisaties die zijn gekoppeld aan mijn Microsoft Entra-tenant door te navigeren naar Selecteer de knop met het beletselteken aan de rechterkant voor de opgegeven weergave >Bewerken.
Verifiëren met de feed
Nu u uw feed hebt gemaakt, selecteert u het juiste tabblad op basis van de technologie die u gebruikt en volgt u de instructies om uw configuratiebestand in te stellen en verbinding te maken met uw feed:
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Kies Artefacten, kies uw feed uit het vervolgkeuzemenu en kies vervolgens Verbinding maken met feed.
Selecteer npm in het linkernavigatiedeelvenster en volg de opgegeven instructies in de sectie Project-installatie om uw configuratiebestand in te stellen. Als u nog geen NPMRC-bestand hebt, maakt u een nieuw bestand in de hoofdmap van uw project (dezelfde map als uw package.json). Open het nieuwe NPMRC-bestand en plak het opgegeven fragment.
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Kies Artefacten, kies uw feed uit het vervolgkeuzemenu en kies vervolgens Verbinding maken met feed.
Selecteer NuGet.exe in het linkernavigatiedeelvenster en kopieer vervolgens het XML-fragment dat is opgegeven in de sectie Projectinstallatie .
Maak een nieuw nuget.config-bestand in de hoofdmap van uw project en plak het XML-fragment dat u in de vorige stap hebt gekopieerd.
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Kies Artefacten, kies uw feed uit het vervolgkeuzemenu en kies vervolgens Verbinding maken met feed.
Selecteer pip in het linkernavigatiedeelvenster.
Maak een virtuele omgeving als u dit nog niet hebt gedaan.
Voeg een pip.ini -bestand (Windows) of pip.conf (Mac/Linux) toe aan uw virtualenv en plak het fragment in de sectie Project-installatie .
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Kies Artefacten, kies uw feed uit het vervolgkeuzemenu en kies vervolgens Verbinding maken met feed.
Selecteer Maven in het linkernavigatiedeelvenster.
Voeg het fragment toe dat is opgegeven in de sectie Project-opzet aan de secties <repositories> en <distributionManagement> in uw pom.xml. Het bestand moet er ongeveer als volgt uitzien:
<repository>
<id>[FEED-NAME]</id>
<url>https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
Plak het opgegeven <server> fragment in het settings.xml-bestand . Het bestand ziet er ongeveer als volgt uit:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
Maak een persoonlijk toegangstoken met de permissies Packaging>lees en schrijven en plak uw persoonlijke toegangstoken in de <password> tag in uw settings.xml bestand.
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Kies Artefacten, kies uw feed uit het vervolgkeuzemenu en kies vervolgens Verbinding maken met feed.
Selecteer Gradle in het linkernavigatiedeelvenster.
Voeg het fragment in de sectie Project-installatie toe aan de opslagplaatsen en publicatiesecties in uw build.gradle-bestand . Het bestand moet er ongeveer als volgt uitzien:
maven {
url 'https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1'
name '[FEED-NAME]'
authentication {
basic(BasicAuthentication)
}
}
Plak het opgegeven <server> fragment in het settings.xml-bestand . Het bestand moet er ongeveer als volgt uitzien:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
Maak een persoonlijk toegangstoken met Packaging>Lees- en schrijf machtigingen. Plak uw persoonlijke toegangstoken in de <password> tag in uw settings.xml-bestand .
Meld u aan bij uw Azure DevOps-organisatie en navigeer naar uw project.
Kies Artefacten, kies uw feed uit het vervolgkeuzemenu en kies vervolgens Verbinding maken met feed.
Selecteer Cargo in het linkernavigatiedeelvenster.
Voeg het fragment in de sectie Project setup toe aan uw cargo/config.toml-bestand in uw bronopslagplaats. Het bestand config.toml moet er ongeveer als volgt uitzien:
[registries]
FEED_NAME = { index = "sparse+https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/Cargo/index/" }
```
Voeg het tweede fragment toe dat is opgegeven in de sectie Project-installatie aan uw cargo/config.toml-bestand om de crates.io bron te vervangen door uw feed. Het bestand moet er ongeveer als volgt uitzien:
[source.crates-io]
replace-with = "FEED_NAME"
Een referentieprovider configureren
Aanmelden bij het register
Pakketten herstellen
Nu u upstream-bronnen hebt ingeschakeld en geverifieerd met uw feed, selecteert u het juiste tabblad op basis van uw pakkettype en volgt u de instructies voor het herstellen van pakketten uit openbare registers in uw Azure Artifacts-feed.
Verwijder de node_modules-map uit uw project.
Open een opdrachtpromptvenster en voer de volgende opdracht uit om uw pakketten te herstellen. Zodra de feed is voltooid, moet er een kopie zijn opgeslagen van alle pakketten die zijn geïnstalleerd vanuit upstream.
npm install --force
Notitie
De --force vlag zorgt ervoor dat pakketten worden opgehaald uit de externe bron, zelfs als er een lokale kopie bestaat.
Wis uw lokale cache.
nuget locals -clear all
Open een opdrachtpromptvenster en voer de volgende opdracht uit om uw pakketten te herstellen. Zodra de feed is voltooid, moet er een kopie zijn opgeslagen van alle pakketten die zijn geïnstalleerd vanuit upstream.
nuget.exe restore
Verwante inhoud