Erste Schritte mit npm-Paketen in Azure Artifacts

Azure Artifacts unterstützt das Veröffentlichen und Nutzen von npm-Paketen in und aus Azure Artifacts Feeds und öffentlichen Registrierungen. Verwenden Sie diese Schnellstartanleitung, um Ihren Feed zu erstellen, Ihre NPMRC-Datei einzurichten, Ihr Projekt zu erstellen und Ihre npm-Pakete in Ihrem Feed zu veröffentlichen.

Lizenz der Azure Artifacts-Erweiterung

Um Azure Artifacts verwenden zu können, müssen Sie ein Upgrade auf Visual Studio Team Foundation Server 2017 durchführen. Wenn die Azure Artifacts Erweiterung entfernt wurde, können Sie sie über Visual Studio Marketplaceinstallieren.

Zuweisen von Lizenzen in Team Foundation Server

Jede Organisation erhält fünf kostenlose Lizenzen. Wenn Sie mehr als fünf Lizenzen benötigen, wechseln Sie zu Visual Studio Marketplace, und wählen Sie Kostenlos erwerben aus.

Wenn Sie nicht sicher sind, können Sie 30 Tage kostenlose Testversion starten auswählen. Jedem Benutzer in Ihrer Organisation wird dann 30 Tage lang Zugriff auf Azure Artifacts gewährt. Nach ablauf des 30-tägigen Testzeitraums wird Ihre Organisation wieder auf fünf berechtigte Benutzer zurückgesetzt, und Sie müssen einzelnen Benutzern Lizenzen zuweisen. Wenn Sie zu diesem Zeitpunkt zusätzliche Lizenzen benötigen, können Sie sie über Visual Studio Marketplace erwerben. Wenn Sie über eine Lizenz für Visual Studio Enterprise verfügen, haben Sie bereits Zugriff auf Azure Artifacts und müssen keine Lizenz erhalten. Stellen Sie einfach sicher, dass Ihnen die Zugriffsebene "Visual Studio Enterprise" zugewiesen wurde.

Hinweis

Wenn Sie Kostenlose Testversion starten 30 Tage ausgewählt haben und sich noch im Testzeitraum befinden, wird jedem Benutzer Zugriff gewährt. Lizenzen müssen erst zugewiesen werden, wenn der Testzeitraum endet.

  1. Zeigen Sie in einer beliebigen Sammlung in Team Foundation Server auf das Einstellungsmenü, und wählen Sie Benutzer aus. Wählen Sie dann Paketverwaltung aus.

    Screenshot der Seite "Benutzer" in Team Foundation Server

  2. Wählen Sie Zuweisen aus, geben Sie die Benutzer ein, die Sie Lizenzen zuweisen möchten, und klicken Sie dann auf OK.

    • Benutzer mit Visual Studio Enterprise-Abonnements erhalten kostenlos Azure Artifacts. Stellen Sie sicher, dass Ihre Visual Studio Enterprise-Abonnenten über die entsprechende Zugriffsebene verfügen. Weitere Informationen finden Sie unter Ändern von Zugriffsebenen.

    • Benutzer, die eine Instanz von Team Foundation Server verwenden, die nicht mit dem Internet verbunden ist (und daher keine Lizenzen von Visual Studio Marketplace erwerben können), können weiterhin Lizenzen zuweisen, die über ein Enterprise Agreement erworben wurden.

Erstellen eines Feeds

Ein Feed ist ein Organisationskonstrukt, mit dem Benutzer Pakete speichern und steuern können, wer auf sie zugreifen kann, indem die Feedberechtigungen geändert werden.

Feeds sind nicht vom Typ des Pakets abhängig. Azure Artifacts unterstützt derzeit das Speichern von NuGet-, npm-, Maven-, Python- und Universal-Paketen in einem einzelnen Feed.

Um einen neuen Feed zu erstellen, wählen Sie Feed in Ihrem Feed erstellen aus, und füllen Sie das Formular aus.

  • Name: Der Feedname.
  • Sichtbarkeit: Wählen Sie aus, wer Pakete in ihren Feed hochladen oder aus diesem herunterladen kann.
  • Upstreamquellen: Wenn Sie Ihrem Feed Upstreamquellen wie npmjs.org oder NuGet.org hinzufügen möchten, wählen Sie Pakete aus allgemeinen öffentlichen Quellen einschließen aus. Wenn Upstreamquellen aktiviert sind, kann Ihr Client Pakete über Ihren privaten Feed aus der öffentlichen Registrierung abrufen, und Ihr privater Feed speichert diese Pakete für Sie zwischen. Wenn Sie Ihren Feed ohne Verbindung mit öffentlichen Registrierungen erstellen möchten, deaktivieren Sie das Kontrollkästchen Upstreamquellen. Sie können sie später hinzufügen, wenn Sie möchten.

Wählen Sie Erstellen, wenn Sie fertig sind.

Screenshot: Dialogfeld "Neuer Feed" in Azure DevOps 2019

Screenshot des Dialogfelds "Neuer Feed" in Team Foundation Server

Sie können diese Einstellungen später ändern, indem Sie den Feed bearbeiten.

Klicken Sie bei ausgewähltem Feed auf das Zahnrad Symbol (rechts auf der Seite).

Screenshot der Schaltfläche "Feed bearbeiten".

Screenshot der Schaltfläche "Feed bearbeiten".

Einrichten ihrer NPMRC-Dateien

Alle Azure Artifacts Feeds erfordern eine Authentifizierung. Sie speichern Anmeldeinformationen für den Feed, bevor Sie Pakete installieren oder veröffentlichen können. npm verwendet NPMRC-Konfigurationsdateien zum Speichern von Feed-URLs und Anmeldeinformationen.

Hinweis

vsts-npm-auth wird lokal Team Foundation Server und Azure DevOps Server nicht unterstützt.

Suchen Ihrer NPMRC-Dateien

Es wird empfohlen, zwei NPMRC-Dateien zu verwenden:

  1. Eine NPMRC-Datei sollte sich im Stammverzeichnis Ihres Git-Repositorys befinden, in dem sich die package.jsIhres Projekts in der Datei befindet.

    1. Wählen Sie unter Artefakte die Option Verbinden zum Feed aus.

      Screenshot, der zeigt, wie Sie eine Verbindung mit Ihrem Feed herstellen.

    2. Wählen Sie npm > Tools abrufen aus.

    3. Führen Sie die Schritte 1 und 2 aus, um die Node.js-Datei, npm und den Anmeldeinformationsanbieter für Artefakte herunterzuladen.

    4. Wählen Sie Windows aus, wenn Sie sich auf einem Windows-Computer oder Sonstiges unter macOS oder Linux befindet.

    5. Befolgen Sie die Anweisungen in den Abschnitten Projekteinrichtung, Pakete wiederherstellen und Pakete veröffentlichen.

      Screenshot: Abschnitte zum Einrichten, Wiederherstellen und Veröffentlichen zum Herstellen einer Verbindung mit Ihrem Feed

  2. Auf Ihrem Entwicklungscomputer befindet sich auch eine NPMRC-Datei im Ordner $home für Linux- oder Mac-Systeme oder in $env. HOME für Windows. Diese NPMRC-Datei sollte Anmeldeinformationen für alle Registrierungen enthalten, mit denen Sie eine Verbindung herstellen müssen. Der NPM-Client untersucht die NPMRC-Datei Ihres Projekts, ermittelt die Registrierung und ruft übereinstimmende Anmeldeinformationen aus $home/.npmrc oder $env ab. HOME/.npmrc.

Dadurch können Sie die NPMRC-Datei des Projekts für das gesamte Team freigeben und gleichzeitig Ihre Anmeldeinformationen schützen.

Einrichten der Authentifizierung auf Ihrem Entwicklungscomputer

An diesem Punkt sollten Sie über eine projektspezifische NPMRC-Datei verfügen. Diese Datei enthält nur die Registrierungsinformationen Ihres Feeds, die Sie im Dialogfeld Verbindung mit Feed herstellen ermittelt haben. Diese Datei darf keine Anmeldeinformationen enthalten. Die Datei wird in der Regel am gleichen Speicherort wie die package.jsihres Projekts in der Datei gespeichert.

Wichtig

Ihre NPMRC-Datei kann nur eine registry= zeile enthalten. Mehrere Registrierungen sind mit Bereichen und Upstreamquellenmöglich.

Windows

Wenn Sie unter Windows entwickeln, wird empfohlen, vsts-npm-auth anmeldeinformationen mit abzurufen und in regelmäßigen Abständen in Ihre ~/.npmrc-Datei einzufügen. Die einfachste Möglichkeit, dies einzurichten, besteht darin, global zu installieren vsts-npm-auth (d. h. ), und dann ein Ausführungsskript im package.jsihres Projekts in der npm install -g vsts-npm-auth Datei hinzuzufügen.

"scripts": {
    "refreshVSToken": "vsts-npm-auth -config .npmrc"
}

Linux/Mac

Wenn Sie unter Linux oder Mac entwickeln, vsts-npm-auth wird nicht unterstützt. Generieren Sie stattdessen auf folgende Weise ein Token für Ihre $HOME/.npmrc-Datei.

Projekteinrichtung

Im Dialogfeld Verbindung mit Feed herstellen wird ein entsprechend formatiertes Token generiert, das Sie in Ihrer NPMRC-Datei platzieren können. Das Token hat eine Lebensdauer von 90 Tagen.

Tipp

Wenn Sie ein Token erstellen möchten, das länger als 90 Tage dauert, stellen Sie sicher, dass Sie das Standardablaufdatum ändern.

  1. Wählen Sie in Ihrem Projekt Azure Artifacts und dann Verbinden aus, um zu feeden.

    Wählen Sie Artefakte und dann Verbindung mit Feed herstellen aus.

  2. Wählen Sie npm aus.

  3. Wählen Sie im Abschnitt Projekteinrichtung die Option Andere aus.

    Projekteinrichtung, Anderes Betriebssystem

  4. Fügen Sie eine NPMRC-Datei im selben Verzeichnis hinzu wie Ihre package.js.

    registry=https://pkgs.dev.azure.com/<yourOrganization>/_packaging/<yourFeed>/npm/registry/
    
    always-auth=true
    

Einrichten von Anmeldeinformationen

  1. Kopieren Sie den folgenden Codeausschnitt in die NPMRC-Datei Ihres Benutzers.

    ; begin auth token
    pkgs.dev.azure.com/<yourOrganization>/_packaging/<yourFeed>/npm/registry/:username=[ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
    pkgs.dev.azure.com/<yourOrganization>/_packaging/<yourFeed>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
    pkgs.dev.azure.com/<yourOrganization>/_packaging/<yourFeed>/npm/registry/:email=npm requires email to be set but doesn't use the value
    pkgs.dev.azure.com/<yourOrganization>/_packaging/<yourFeed>/npm/:username=[ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
    pkgs.dev.azure.com/<yourOrganization>/_packaging/<yourFeed>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
    pkgs.dev.azure.com/<yourOrganization>/_packaging/<yourFeed>/npm/:email=npm requires email to be set but doesn't use the value
    ; end auth token
    
  2. Generieren Sie ein persönliches Zugriffstoken mit dem Packen von Lese- und Schreibbereichen.

  3. Codieren Sie Ihr neu generiertes persönliches Zugriffstoken wie folgt:

    1. Führen Sie den folgenden Befehl in einem Eingabeaufforderungsfenster mit erhöhten Rechten aus:

      node -e "require('readline') .createInterface({input:process.stdin,output:process.stdout,historySize:0}) .question('PAT> ',p => { b64=Buffer.from(p.trim()).toString('base64');console.log(b64);process.exit(); })"
      

      Sie können auch den folgenden Befehl verwenden, um Ihr persönliches Zugriffstoken abhängig von Ihrem Betriebssystem in Base64 zu konvertieren:

      • Windows:

        [Convert]::ToBase64String([system.Text.Encoding]::UTF8.GetBytes("YOUR_PAT_GOES_HERE"))
        
      • LinuxMac:

        echo -n "YOUR_PAT_GOES_HERE" | base64
        
    2. Kopieren Sie den Base64-codierten Wert.

  4. Ersetzen Sie den Platzhalter [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] durch Das soeben erstellte Base64-codierte persönliche Zugriffstoken Ihres Benutzers.

  1. Wählen Sie unter Pakete die Option Zum Feed verbinden aus.

  2. Wählen Sie npm aus.

  3. Wählen Sie NPM-Anmeldeinformationen generieren aus. Kopieren Sie die Anmeldeinformationen, um sie ihrer NPMRC-Benutzerdatei manuell hinzuzufügen:

    Screenshot: Verbindung mit npm-Feed herstellen

Erstellen Ihres Projekts

An diesem Punkt sollte Ihr Projekt über einen package.jsin der Datei und eine NPMRC-Datei im selben Ordner verfügen. Führen Sie npm install aus dem Verzeichnis aus, das beide Dateien enthält. npm ermittelt Ihren Feed in der NPMRC-Datei im aktuellen Arbeitsverzeichnis. Anschließend werden die Anmeldeinformationen aus der NPMRC-Datei Ihres Stammverzeichnisses abgerufen, die Sie im Abschnitt "Feed erstellen" konfiguriert haben.

Hinweis

Wenn Sie Yarn verwenden, führen Sie den folgenden Befehl aus, um die Yarn-Registrierung festzulegen:

yarn config set registry "https://pkgs.dev.azure.com/<yourOrganization>/_packaging/<yourFeed>/npm/registry/"

Veröffentlichen von npm-Paketen

Sie können jetzt das npm-Paket veröffentlichen:

  1. Navigieren Sie zu dem Verzeichnis, das die package.jsihres Pakets in der Datei enthält.

  2. Führen Sie npm publish aus.

Dieser Befehl authentifiziert sich beim Feed mithilfe der NPMRC-Konfigurationsdateien, die Sie zuvor eingerichtet haben. Weitere Informationen finden Sie in der npm CLI-Dokumentation.

Ihr npm-Paket sollte jetzt in Ihrem Feed verfügbar sein.

Wichtig

Stellen Sie sicher, dass Ihr Arbeitsordner über eine .npmrc Datei mit einer Zeile registry= verfügt, wie im Bildschirm Mit Feed verbinden in Ihrem Feed beschrieben. Der Build unterstützt nicht die Verwendung der publishConfig -Eigenschaft, um die Registrierung anzugeben, in der Sie veröffentlichen. Wenn Sie die publishConfig -Eigenschaft in Ihre package.jsin die Datei einschließen, schlägt der Build möglicherweise mit einem nicht verknüpften Authentifizierungsfehler fehl.

Npm-Pakete herunterladen

Sie können NPM-Pakete aus Ihrem Azure Artifacts Feed oder der öffentlichen Registrierung installieren.

  1. Richten Sie die npmrc Ihres Clientsein.

  2. Öffnen Sie ein Eingabe Aufforderungs Fenster mit erhöhten Rechten, und navigieren Sie zu dem Verzeichnis, das Ihre package.jsin Datei enthält.

  3. Installieren Sie ein Paket, indem Sie den folgenden Befehl ausführen:

    npm install --save <package>
    

Weitere Informationen finden Sie in der Dokumentation zu NPM-Installation .

Nächste Schritte