Node.js-Pakete in Artifact Registry speichern
In dieser Kurzanleitung wird gezeigt, wie Sie ein privates Artifact Registry-Repository für Node.js-Pakete einrichten und ein Paket hochladen.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init - Installieren Sie PowerShell, wenn Sie von Windows eine Verbindung zu einem Node.js-Paket-Repository herstellen möchten.
Rufen Sie die Google Cloud Console auf.
Klicken Sie in der Symbolleiste der Google Cloud Console auf Cloud Shell aktivieren (
).Im Folgenden wird gezeigt, wie Sie das Repository anlegen.
Console
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie auf Repository erstellen.
Geben Sie
quickstart-nodejs-repoals Repository-Namen an.Wählen Sie npm als Format und Standard als Modus aus.
Wählen Sie unter Standorttyp die Option Region und dann den Standort
us-central1aus.Klicken Sie auf Erstellen.
Das Repository wird der Repository-Liste hinzugefügt.
gcloud
Führen Sie den folgenden Befehl aus, um ein neues Node.js-Package-Repository mit dem Namen
quickstart-nodejs-repoam Speicherortus-central1mit der Beschreibung „Node.js repository“ zu erstellen.gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \ --location=us-central1 --description="Node.js package repository"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.Um die
gcloud-Befehle zu vereinfachen, legen Sie für das Standard-Repository den Wertquickstart-nodejs-repound für den Standard-Speicherortus-central1fest. Nachdem Sie die Werte festgelegt haben, müssen Sie diese nicht mehr ingcloud-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-repoFühren Sie den folgenden Befehl aus, um den Standort festzulegen:
gcloud config set artifacts/location us-central1Weitere Informationen zu diesen Befehlen finden Sie in der Dokumentation zu gcloud config set.
Laden Sie das Paket emoji-regex herunter. Es enthält einen regulären Ausdruck, der mit allen Emoji-Symbolen und -Sequenzen übereinstimmt.
npm pack emoji-regexMit dem Befehl wird ein Archiv des Pakets heruntergeladen.
Extrahieren Sie das Archiv in das Verzeichnis
emoji-regex. Der folgende Befehl gilt für ein Archiv deremoji-regex-Version 10.1.0:mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1Erstellen Sie ein zweites npm-Paket, mit dem Sie das
emoji-regex-Paket aus Artifact Registry installieren. Verwenden Sie für dieses Paket den Befehlnpm init, um ein einfaches Paket zu erstellen.mkdir npm-package2 cd npm-package2 npm init -yÜbernehmen Sie bei der Aufforderung die Standardwerte.
Konfigurieren Sie sowohl das Projekt
emoji-regexals auch das Projektnpm-package2für die Authentifizierung beim Artifact Registry-Repository, das Sie erstellt haben.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=@quickstartDer Bereich
quickstartist 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
gcloudsieht in etwa so aus: PROJECT ist die Projekt-ID Ihres Google Cloud .@quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/ //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=trueFügen Sie der
.npmrc-Datei des Projekts in jedem npm-Projekt die Konfigurationseinstellungen aus dem vorherigen Schritt hinzu. Die Datei befindet sich im selben Verzeichnis wie die Dateipackage.json.Weitere Informationen zur Datei
.npmrcfinden Sie in der Übersicht zu Node.js.Jedes Artifact Registry-Repository für Node.js-Pakete ist mit einem npm-Registry-Endpunkt
https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORYverknüpft. Wenn Sie ein weiteres Artifact Registry Node.js-Package Repository erstellen, nutzt npm dieses Repository als separate Registry mit eigenem Bereich.
Bearbeiten Sie
package.jsonin den Projektenemoji-regexundnpm-package2.Achten Sie darauf, dass der Wert für
nameden Bereichquickstartenthält.- Für
emoji-regex:
"name": "@quickstart/emoji-regex"- Für
npm-package2:
"name": "@quickstart/npm-package2"- Für
Fügen Sie unter
scriptsein Script für google-artifactregistry-auth hinzu, eine Clientbibliothek, die Anmeldedaten für Artifact Registry-Repositories aktualisiert."scripts": { "artifactregistry-login": "npx google-artifactregistry-auth --repo-config=./.npmrc --credential-config=./.npmrc" }
Aktualisieren Sie das Zugriffstoken für die Verbindung mit dem Repository.
npm run artifactregistry-loginFügen Sie das Paket dem Repository hinzu. Sie können dazu einen
npm- oderyarn-Befehl verwenden.npm publishyarn publishÖffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie in der Repository-Liste auf das Repository
quickstart-nodejs-repo.Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Klicken Sie auf ein Paket, um die Paketversionen aufzurufen.
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Wählen Sie in der Repository-Liste das Repository
quickstart-nodejs-repoaus.Klicken Sie auf Löschen.
Um das Repository
quickstart-nodejs-repozu löschen, führen Sie folgenden Befehl aus:gcloud artifacts repositories delete quickstart-nodejs-repoWenn 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- Authentifizierung konfigurieren
- Repositories verwalten
- Pakete verwalten
- Lesen Sie unser Infomaterial zu DevOps und informieren Sie sich über unser Forschungsprogramm.
Cloud Shell starten
In dieser Kurzanleitung verwenden Sie Cloud Shell, eine Shell-Umgebung für die Verwaltung von Ressourcen, die inGoogle Cloudgehostet werden.
Die Google Cloud CLI ist in Cloud Shell vorinstalliert. Die gcloud CLI bietet die primäre Befehlszeile für Google Cloud.
Cloud Shell aufrufen
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-Package Repository erstellen
Erstellen Sie das Repository für Ihre Node.js-Artefakte:
npm konfigurieren
Wenn Sie Pakete hoch- und herunterladen möchten, müssen Sie Ihre npm-Projekte mit Einstellungen für die Authentifizierung beim erstellten Repository konfigurieren. In dieser Kurzanleitung laden Sie ein einfaches Paket hoch und installieren es dann als Abhängigkeit in einem zweiten Paket.
Paket in das Repository hochladen
Paket im Repository aufrufen
So prüfen Sie, ob das Paket dem Repository hinzugefügt wurde:
Console
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
Mit dem 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
Mit den folgenden Schritten 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: