Kurzanleitung: Node.js-Pakete in Artifact Registry speichern

Node.js-Pakete in Artifact Registry speichern

In dieser Kurzanleitung erfahren Sie, wie Sie ein Node.js-Paket-Repository für Artifact Registry einrichten und ein Paket in dieses hochladen.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  4. Artifact Registry API aktivieren.

    Aktivieren Sie die API

  5. Installieren und initialisieren Sie Google Cloud CLI.
  6. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  7. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  8. Artifact Registry API aktivieren.

    Aktivieren Sie die API

  9. Installieren und initialisieren Sie Google Cloud CLI.
  10. Installieren Sie PowerShell, wenn Sie eine Verbindung zu einem Node.js-Paket-Repository aus Windows herstellen möchten.

Cloud Shell starten

In dieser Kurzanleitung verwenden Sie Cloud Shell, eine Shell-Umgebung zum Verwalten von Ressourcen, die in Google Cloud gehostet werden.

In Cloud Shell ist die Google Cloud-Befehlszeile vorinstalliert. Über die gcloud-Befehlszeile können Sie die primäre Befehlszeile für Google Cloud verwenden.

Cloud Shell aufrufen

  1. Rufen Sie die Google Cloud Console auf.

    Google Cloud Console

  2. Klicken Sie in der Symbolleiste der Konsole auf Cloud Shell aktivieren:

In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet. Mit dieser Shell führen Sie gcloud-Befehle aus.

Node.js-Paket-Repository erstellen

Erstellen Sie das Repository für Ihre Node.js-Artefakte:

  1. Im Folgenden wird gezeigt, wie Sie das Repository anlegen.

    Console

    1. Öffnen Sie die Seite Repositories in der Console.

      Zur Seite „Repositories“

    2. Klicken Sie auf Repository erstellen.

    3. Geben Sie quickstart-nodejs-repo als Repository-Namen an.

    4. Wählen Sie als Format npm aus.

    5. Wählen Sie unter Standorttyp die Option Region und dann den Standort us-central1 aus.

    6. Klicken Sie auf Erstellen.

    Das Repository wird der Repository-Liste hinzugefügt.

    gcloud

    1. Führen Sie den folgenden Befehl aus, um ein neues Node.js-Paket-Repository mit dem Namen quickstart-nodejs-repo und der Beschreibung us-central1 mit der Beschreibung und dem Node.js-Repository zu erstellen.

      gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \
      --location=us-central1 --description="Node.js package repository"
      
    2. Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ihr Repository erstellt wurde:

      gcloud artifacts repositories list
      

    Weitere Informationen zu Artifact Registry-Befehlen erhalten Sie mit dem Befehl gcloud artifacts.

  2. Um die gcloud-Befehle zu vereinfachen, legen Sie für das Standard-Repository den Wert quickstart-nodejs-repo und für den Standard-Speicherort us-central1 fest. Nachdem Sie die Werte festgelegt haben, müssen Sie diese nicht mehr in gcloud-Befehlen angeben, für die ein Repository oder Speicherort erforderlich ist.

    Um das Repository festzulegen, führen Sie folgenden Befehl aus:

    gcloud config set artifacts/repository quickstart-nodejs-repo
    

    Führen Sie den folgenden Befehl aus, um den Standort festzulegen:

    gcloud config set artifacts/location us-central1
    

    Weitere Informationen zu diesen Befehlen finden Sie in der Dokumentation zu gcloud config set.

npm konfigurieren

Zum Hochladen und Herunterladen von Paketen müssen Sie Ihre npm-Projekte mit Einstellungen konfigurieren, um sich bei dem von Ihnen erstellten Repository zu authentifizieren. Für diese Kurzanleitung laden Sie ein einfaches Paket hoch und installieren es als zweites Paket als Abhängigkeit.

  1. Lade das Paket emoji-Regex herunter. Dieses einfache Paket enthält einen regulären Ausdruck, der allen Emojis und Sequenzen entspricht.

    npm pack emoji-regex
    

    Durch den Befehl wird ein Archiv des Pakets heruntergeladen.

  2. Extrahieren Sie das Archiv in ein emoji-regex-Verzeichnis. Der folgende Befehl gilt für ein Archiv der emoji-regex-Version 10.1.0:

    mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
    
  3. Erstellen Sie ein zweites npm-Paket, mit dem Sie das Paket emoji-regex aus Artifact Registry installieren. Für dieses Paket erstellen Sie mit dem Befehl npm init ein Basispaket.

    mkdir npm-package2
    cd npm-package2
    
    npm init -y
    

    Übernehmen Sie die Standardwerte, wenn Sie dazu aufgefordert werden.

  4. Konfigurieren Sie die Projekte emoji-regex und npm-package2 so, dass sie sich mit dem von Ihnen erstellten Artifact Registry-Repository authentifizieren können.

    1. Führen Sie den folgenden Befehl aus: Der Befehl gibt Konfigurationseinstellungen zurück, die Ihrer npm-Konfigurationsdatei hinzugefügt werden können.

      gcloud artifacts print-settings npm --scope=@quickstart
      

      Der Bereich quickstart ist mit Ihrem Repository verknüpft. Wenn Sie den Bereich in Befehle zum Veröffentlichen oder Installieren von Paketen einfügen, verwendet npm Ihr Repository. Wenn Sie Pakete ohne Bereich veröffentlichen oder installieren, wird Ihr konfiguriertes Standard-Repository verwendet. Weitere Informationen finden Sie in der Übersicht zu Node.js.

      Die Ausgabe des Befehls gcloud sieht in etwa so aus: PROJECT ist die ID Ihres Google Cloud-Projekts.

      @quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/
      //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=true
      
    2. Fügen Sie die Konfigurationseinstellungen aus dem vorherigen Schritt der Datei .npmrc des Projekts in jedem npm-Projekt hinzu. Die Datei im selben Verzeichnis wie die Datei package.json.

      Weitere Informationen zur Datei .npmrc finden Sie in der Übersicht zu Node.js.

      Jedes Artifact Registry-Node.js-Paket-Repository ist einem npm-Registry-Endpunkt https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY zugeordnet. Wenn Sie ein weiteres Node.js-Paket-Repository erstellen, interagiert npm mit diesem als separate Registry mit eigenem Bereich.

  5. Bearbeiten Sie package.json sowohl im Projekt emoji-regex als auch im Projekt npm-package2.

    1. Achten Sie darauf, dass der Wert für name den Bereich quickstart enthält.

      • Für emoji-regex:
      "name": "@quickstart/emoji-regex"
      
      • Für npm-package2:
      "name": "@quickstart/npm-package2"
      
    2. Fügen Sie unter scripts ein Skript für google-Artifact Registry-auth hinzu, eine Clientbibliothek, mit der die Anmeldedaten für Artifact Registry-Repositories aktualisiert werden.

      "scripts": {
        "artifactregistry-login": "npx google-artifactregistry-auth"
      }
      

Paket in das Repository hochladen

  1. Aktualisieren Sie das Zugriffstoken für die Verbindung mit dem Repository.

    npm run artifactregistry-login
    
  2. Fügen Sie das Paket dem Repository hinzu. Sie können dazu einen npm- oder yarn-Befehl verwenden.

    npm publish
    
    yarn publish
    

Paket im Repository aufrufen

So prüfen Sie, ob das Paket dem Repository hinzugefügt wurde:

Console

  1. Öffnen Sie die Seite Repositories in der Console.

    Zur Seite „Repositories“

  2. Klicken Sie in der Repository-Liste auf das Repository quickstart-nodejs-repo.

    Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.

  3. Klicken Sie auf ein Paket, um die Paketversionen aufzurufen.

gcloud

Um die Images im Standard-Repository quickstart-nodejs-repo aufzulisten, führen Sie folgenden Befehl aus:

 gcloud artifacts packages list

Um die Versionen für ein Paket aufzurufen, führen Sie folgenden Befehl aus:

gcloud artifacts versions list --package=PACKAGE

Dabei ist PACKAGE die Paket-ID.

Pakete installieren

Installieren Sie das Paket emoji-regex aus Ihrem Artifact Registry-Repository in npm-package2.

Führen Sie im Verzeichnis npm-package2 den Befehl npm install oder yarn add aus:

npm install @quickstart/emoji-regex
yarn add @quickstart/emoji-regex

Durch den Befehl wird das Paket emoji-regex im Projekt npm-package2 installiert. Außerdem wird package.json aktualisiert, um emoji-regex als Abhängigkeit festzulegen.

"dependencies": {
  "@quickstart/emoji-regex": "^10.1.0"
}

Bereinigen

So vermeiden Sie, dass Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden.

Prüfen Sie vor dem Entfernen eines Repositorys, ob alle Pakete, die Sie beibehalten möchten, an einem anderen Speicherort verfügbar sind.

So löschen Sie das Repository:

Console

  1. Öffnen Sie die Seite Repositories in der Console.

    Zur Seite „Repositories“

  2. Wählen Sie in der Repository-Liste das Repository quickstart-nodejs-repo aus.

  3. Klicken Sie auf Löschen.

gcloud

  1. Um das Repository quickstart-nodejs-repo zu löschen, führen Sie folgenden Befehl aus:

    gcloud artifacts repositories delete quickstart-nodejs-repo
    
  2. Wenn Sie die Einstellungen für das Standard-Repository und den Standard-Speicherort entfernen möchten, die Sie für die aktive gcloud-Konfiguration festgelegt haben, führen Sie die folgenden Befehle aus:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

Weitere Informationen