Auf dieser Seite wird beschrieben, wie Sie Java-Pakete hinzufügen, aufrufen und löschen.
Wenn Sie sbt anstelle von Maven oder Gradle als Build-Tool für Scala und Java verwenden möchten, ist ein von der Community erstelltes sbt-Plug-in verfügbar. In dieser Dokumentation wird die Konfiguration oder Verwendung von Scala-Clients nicht beschrieben.
Hinweis
- Wenn das Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen für das Repository haben.
- Prüfen Sie, ob Sie die Authentifizierung konfiguriert haben. Wenn Sie ein Zugriffstoken verwenden, müssen Sie es aktualisieren, bevor Sie eine Verbindung zum Repository herstellen.
- (Optional) Konfigurieren Sie die Standardeinstellungen für gcloud-Befehle.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Repository zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Paketen benötigen:
-
Pakete oder Dateien in Paketen ansehen:
Artifact Registry-Leser (
roles/artifactregistry.reader) -
Pakete herunterladen oder installieren:
Artifact Registry-Leser (
roles/artifactregistry.reader) -
Pakete zu einem Repository hinzufügen:
Artifact Registry-Autor (
roles/artifactregistry.writer) -
Pakete löschen:
Repository-Administrator für Artifact Registry (
roles/artifactregistry.repoAdmin)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Pakete hinzufügen
Repository-Modi: Standard
So fügen Sie dem Repository Pakete hinzu:
Maven
Verwenden Sie mvn deploy und mvn release, um dem Repository Pakete hinzuzufügen.
Zum Bereitstellen eines Maven-Projekts, das auf ein übergeordnetes Element verweist, muss das Projekt den Artifact Registry-Wagon-Anbieter in eine Core-Erweiterungsdatei einfügen, wie in der Authentifizierungsanleitung beschrieben.
Verwenden Sie mvn deploy:deploy-file, um Artefakte hochzuladen, die außerhalb von Maven erstellt wurden.
Beispiel: Dieser Befehl stellt example/external.jar und die Projektdatei example/pom.xml im Repository us-central1-maven.pkg.dev/my-project/my-repo bereit.
mvn deploy:deploy-file \
-Durl=artifactregistry://us-central1-maven.pkg.dev/my-project/my-repo \
-DpomFile=example/pom.xml -Dfile=example/external.jar
Informationen zum Konfigurieren der Einbindung mit Cloud Build finden Sie unter In Cloud Build einbinden.
Gradle
Für eine erfolgreiche Veröffentlichung im Repository muss die Datei build.gradle einen Publikations Abschnitt enthalten, der die hochzuladenden Dateien definiert.
Verwenden Sie den Befehl gradle publish, um ein Paket in das Repository hochzuladen.
Pakete und Versionen ansehen
Repository-Modi: Standard, Remote
So rufen Sie die Pakete und Paketversionen mit der Google Cloud -Konsole oder gcloud ab:
Console
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie in der Liste der Repositories auf das entsprechende Repository.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Klicken Sie auf das Paket, um die Versionen des Pakets aufzurufen.
gcloud
Führen Sie den folgenden Befehl aus, um die Pakete in einem Repository aufzulisten:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Ersetzen Sie Folgendes:
REPOSITORYist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.-
LOCATIONist der regionale oder multiregionale Speicherort des Repositorys. Wenn Sie einen Standard-Speicherort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
Um die Versionen für ein Paket aufzurufen, führen Sie folgenden Befehl aus:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Ersetzen Sie Folgendes:
PACKAGEist die ID des Pakets oder die vollqualifizierte Kennzeichnung für das Paket.REPOSITORYist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.-
LOCATIONist der regionale oder multiregionale Speicherort des Repositorys. Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standard-Speicherort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
Bei Remote-Repositories sollte die zurückgegebene Liste alle direkten und transitiven Abhängigkeiten enthalten.
Dateien auflisten
Repository-Modi: Standard, Remote
Sie können Dateien in einem Repository, Dateien in allen Versionen eines bestimmten Pakets oder Dateien in einer bestimmten Version eines Pakets auflisten.
Für alle folgenden Befehle können Sie eine maximale Anzahl von zurückzugebenden Dateien festlegen, indem Sie dem Befehl das Flag --limit hinzufügen.
So listen Sie alle Dateien im Standardprojekt, im Standard-Repository und am Standard-Speicherort auf, wenn die Standardwerte konfiguriert sind:
gcloud artifacts files list
Führen Sie den folgenden Befehl aus, um Dateien in einem bestimmten Projekt, Repository und Speicherort aufzulisten:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
So listen Sie Dateien für alle Versionen eines bestimmten Pakets auf:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
So listen Sie Dateien für eine bestimmte Paketversion auf:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
Ersetzen Sie die folgenden Werte:
LOCATION: der regionale oder multiregionale Standort des Repositorys.PROJECT: Ihre Google Cloud Projekt-ID. Wenn Ihre Projekt-ID einen Doppelpunkt (:) enthält, lesen Sie den Abschnitt Projekte mit Domain-Bereich.REPOSITORY: der Name des Repositorys, in dem das Image gespeichert ist.PACKAGE: der Name des Pakets.VERSION: die Version des Pakets.
Beispiele
Betrachten Sie die folgenden Paketinformationen:
- Projekt:
my-project - Repository:
my-repo - Speicherort des Repositorys:
us-west1 - Paket:
my-app
Mit dem folgenden Befehl werden alle Dateien im Repository my-repo am
Speicherort us-west1 im Standardprojekt aufgelistet:
gcloud artifacts files list \
--location=us-west1 \
--repository=my-repo
1.0 des Pakets aufgelistet.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--version=1.0
Pakete herunterladen
Repository-Modi: Standard, Remote, virtuell
Zum Herunterladen eines Artefakts als Teil Ihres Builds deklaren Sie das Artefakt als Abhängigkeit.
Maven
Deklarieren Sie die Pakete, die Sie herunterladen möchten, in der
pom.xml-Datei des Projekts. Im folgenden Beispiel wird Version 1.0 des Paketsartifactals Abhängigkeit deklariert.<dependencies> <dependency> <groupId>group</groupId> <artifactId>artifact</artifactId> <version>1.0</version> </dependency> </dependencies>Weitere Informationen zu Maven-Abhängigkeiten finden Sie in der Maven-Einführung zu Abhängigkeiten und der Referenz für Abhängigkeiten.
Erstellen Sie das Java-Projekt.
mvn compile
Gradle
Deklarieren Sie die Pakete an, die Sie herunterladen möchten in der
build.gradle-Datei des Projekts. Im folgenden Beispiel wird Version 1.0 des Paketsartifactals externe Kompilierungsabhängigkeit deklariert.Weitere Informationen zu Gradle-Abhängigkeiten finden Sie in der Gradle Dokumentation.
dependencies { compile group: 'group', name: 'artifact', version: '1.0' }Erstellen Sie das Java-Projekt.
gradle build
Bei Standard-Repositories laden Sie ein Paket direkt aus dem Repository herunter.
Bei einem Remote-Repository laden Sie eine im Cache gespeicherte Kopie des Pakets und seiner Abhängigkeiten herunter. Wenn keine im Cache gespeicherte Kopie vorhanden ist, lädt das Remote-Repository das Paket aus der Upstream-Quelle herunter und speichert es im Cache, bevor es Ihnen zur Verfügung gestellt wird. Sie können prüfen, ob das Remote-Repository die Pakete aus der Upstream-Quelle abgerufen hat, indem Sie die Liste der Pakete im Repository aufrufen.
Bei einem virtuellen Repository sucht Artifact Registry in Upstream-Repositories nach dem angeforderten Paket.
- Upstream-Remote-Repositories laden das angeforderte Paket herunter und speichern es im Cache, wenn keine im Cache gespeicherte Kopie vorhanden ist. Virtuelle Repositories stellen nur angeforderte Pakete bereit, sie speichern sie nicht.
- Wenn Sie eine Version anfordern, die in mehr als einem Upstream-Repository verfügbar ist, wählt Artifact Registry ein Upstream-Repository basierend auf den für das virtuelle Repository konfigurierten Prioritätseinstellungen aus.
Betrachten Sie beispielsweise ein virtuelles Repository mit den folgenden Prioritätseinstellungen für Upstream-Repositories:
main-repo: Priorität auf100festgelegtsecondary-repo1: Priorität auf80festgelegtsecondary-repo2: Priorität auf80festgelegttest-repo: Priorität auf20festgelegt
main-repo hat den höchsten Prioritätswert, daher wird es vom virtuellen Repository immer zuerst durchsucht.
Sowohl für secondary-repo1 als auch für secondary-repo2 ist die Priorität auf 80 festgelegt. Wenn ein angefordertes Paket in main-repo nicht verfügbar ist, durchsucht Artifact Registry diese Repositories als Nächstes. Da beide denselben Prioritätswert haben, kann Artifact Registry ein Paket aus einem der beiden Repositories bereitstellen, wenn die Version in beiden verfügbar ist.
test-repo hat den niedrigsten Prioritätswert und stellt ein gespeichertes Artefakt bereit, wenn es in keinem der anderen Upstream-Repositories vorhanden ist.
Pakete und Versionen löschen
Repository-Modi: Standard, Remote
Sie können ein Paket und alle zugehörigen Versionen oder eine bestimmte Version löschen.
- Das Löschen eines Pakets kann nicht rückgängig gemacht werden.
- Bei Remote-Repositories wird nur die im Cache gespeicherte Kopie des Pakets gelöscht. Die Upstream-Quelle ist nicht betroffen. Wenn Sie ein im Cache gespeichertes Paket löschen, lädt Artifact Registry es herunter und speichert es wieder im Cache, wenn das Repository das nächste Mal eine Anfrage für dieselbe Paketversion erhält.
Bevor Sie ein Paket oder eine Paketversion löschen, prüfen Sie, ob Sie alle wichtigen Abhängigkeiten davon kommuniziert oder behoben haben.
So löschen Sie ein Paket:
Console
Öffnen Sie in der Google Cloud console die Seite Repositories.
Klicken Sie in der Liste der Repositories auf das entsprechende Repository.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Wählen Sie das Paket aus, das Sie löschen möchten.
Klicken Sie auf Löschen.
Klicken Sie im Bestätigungsdialogfeld auf Löschen.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Ersetzen Sie Folgendes:
PACKAGEist der Name des Pakets im Repository.REPOSITORYist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.-
LOCATIONist der regionale oder multiregionale Standort des Repositorys. Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standardstandort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
Das Flag --async bewirkt, dass der Befehl sofort zurückgegeben wird, ohne auf den Abschluss des Vorgangs zu warten.
So löschen Sie Versionen eines Pakets:
Console
Öffnen Sie in der Google Cloud console die Seite Repositories.
Klicken Sie in der Liste der Repositories auf das entsprechende Repository.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Klicken Sie auf das Paket, um die Versionen des Pakets aufzurufen.
Wählen Sie die Versionen aus, die Sie löschen möchten.
Klicken Sie auf Löschen.
Klicken Sie im Bestätigungsdialogfeld auf Löschen.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Ersetzen Sie Folgendes:
VERSIONist der Name der zu löschenden Version.PACKAGEist der Name des Pakets im Repository.REPOSITORYist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.-
LOCATIONist der regionale oder multiregionale Standort des Repositorys. Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standardstandort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
Das Flag --async bewirkt, dass der Befehl sofort zurückgegeben wird, ohne auf den Abschluss des Vorgangs zu warten.
Nächste Schritte
- Node.js-Pakete verwalten
- Python-Pakete verwalten
- Container-Images verwalten
- Einzelne Dateien in einem Paket herunterladen