Cette page décrit les tâches suivantes :
- Afficher et supprimer des packages et des versions de packages
- Afficher, créer, mettre à jour et supprimer des tags
Avant de commencer
- Si le dépôt cible n'existe pas, créez un dépôt.
- Vérifiez que vous disposez des autorisations requises pour le dépôt.
- Configurez l'authentification pour npm.
- (Facultatif) Configurez des valeurs par défaut pour les commandes gcloud.
- Si vous utilisez l'assistant d'identification npm pour l'authentification, obtenez un jeton d'accès avant de vous connecter à un dépôt avec npm.
Rôles requis
Pour obtenir les autorisations dont vous avez besoin pour gérer les packages, demandez à votre administrateur de vous accorder le les rôles IAM suivants dans le dépôt:
-
Afficher les packages, les fichiers de packages et les tags:
Lecteur Artifact Registry (
roles/artifactregistry.reader
) -
Télécharger ou installer des packages:
Lecteur Artifact Registry (
roles/artifactregistry.reader
) -
Ajoutez des packages à un dépôt:
Rédacteur Artifact Registry (
roles/artifactregistry.writer
) -
Supprimer des packages:
Administrateur de dépôt Artifact Registry (
roles/artifactregistry.repoAdmin
)
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Obtenir un jeton d'accès
Les jetons d'accès sont valides pendant 60 minutes. Générez bientôt un jeton d'accès avant d'exécuter des commandes qui interagissent avec les dépôts.
Pour obtenir un jeton, utilisez l'une des options suivantes:
Utilisez la commande
npx
pour actualiser le jeton d'accès.Assurez-vous que les identifiants de connexion au registre npm public se trouvent dans votre fichier de configuration npm d'utilisateur
~/.npmrc
.Exécutez la commande suivante dans le répertoire de votre projet Node.js.
npx google-artifactregistry-auth
Si votre dépôt Artifact Registry est défini comme registre global et que votre ne sont pas délimités, utilisez plutôt la commande suivante pour que peut télécharger l'assistant d'identification à partir du registre npm public au lieu de votre dépôt Artifact Registry.
npm_config_registry=https://registry.npmjs.org npx google-artifactregistry-auth
Ajoutez un script au fichier
package.json
dans votre projet."scripts": { "artifactregistry-login": "npx google-artifactregistry-auth" }
Exécutez le script dans le répertoire de votre projet Node.js.
npm run artifactregistry-login
Artifact Registry lit les paramètres du dépôt Artifact Registry dans votre
le fichier .npmrc
du projet et les utilise pour ajouter des identifiants de jeton à votre utilisateur
.npmrc
. Le stockage du jeton dans le fichier .npmrc
utilisateur isole votre
les identifiants de votre code source et de votre système de contrôle du code source.
Ajouter des packages
Modes de dépôt:standard
Vous ne pouvez publier une version spécifique d'un package qu'une seule fois. Il s'agit d'une restriction npm pour garantir que le contenu d'une version de package publiée est toujours le même. Par conséquent, vous ne pouvez pas :
- Écraser une version de package en la republiant dans le dépôt
- Supprimer un package ou sa version du dépôt, puis publier un package portant le même nom et le même numéro de version
Si vous ne spécifiez pas de tag lorsque vous publiez un package, npm ajoute le tag latest
.
Pour simplifier l'installation de vos packages
à une étape de développement spécifique,
envisagez de publier vos packages avec une balise, comme beta
ou dev
.
Artifact Registry applique les noms de package alphanumériques en minuscules pour npm packages.
Pour ajouter un package :
Assurez-vous que le nom du package dans
package.json
inclut le scope configuré pour votre dépôt. L'exemple suivant affiche un package avec le champ d'applicationdev-repo
."name": "@dev-repo/my-package"
Si vous utilisez l'outil d'aide à la connexion pour s'authentifier avec un jeton d'accès, obtenez un nouveau jeton.
Ajoutez des packages au dépôt. Vous pouvez utiliser une commande
npm
ouyarn
.Pour taguer le package, incluez l'indicateur
--tag
et remplacez TAG avec la balise que vous souhaitez utiliser. Si vous n'incluez pas l'option--tag
, npm définit automatiquement la balise surlatest
.npm publish --tag=TAG
yarn publish --tag TAG
Afficher des packages et des versions
Modes de dépôt:standard, distant, virtuel
Pour obtenir des informations sur un package avec npm
ou yarn
:
Si vous utilisez l'outil d'aide à la connexion pour s'authentifier avec un jeton d'accès, obtenez un nouveau jeton.
Exécutez la commande appropriée:
npm view
yarn info
Afficher les packages et les versions de package à l'aide de la console Google Cloud
ou gcloud
:
Console
Ouvrez la page Dépôts de la console Google Cloud.
Dans la liste des dépôts, cliquez sur le dépôt approprié.
La page Packages répertorie les packages du dépôt.
Cliquez sur un package pour afficher ses versions.
gcloud
Pour répertorier les packages d'un dépôt, exécutez la commande suivante :
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Où
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.
- LOCATION est un régional ou multirégional position. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous configuré un emplacement default, vous pouvez omettre cette option pour utiliser par défaut.
Pour afficher les versions d'un package, exécutez la commande suivante :
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Où :
- PACKAGE est l'ID du package ou de l'identifiant complet. pour le package.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
- LOCATION est un régional ou multirégional position. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous configuré un emplacement default, vous pouvez omettre cette option pour utiliser par défaut.
Afficher les packages et les versions depuis la console Google Cloud ou La gcloud CLI n'est disponible que pour les dépôts standards et distants.
Pour les dépôts distants, la liste renvoyée doit inclure tous les dépôts directs et dépendances transitives mises en cache dans le dépôt.
Répertorier les fichiers
Modes de dépôt:standard, distant
Vous pouvez répertorier les fichiers d'un dépôt, les fichiers de toutes les versions d'un un package ou des fichiers dans une version spécifique d'un package.
Pour toutes les commandes suivantes, vous pouvez définir un nombre maximal de fichiers à renvoyer
en ajoutant l'option --limit
à la commande.
Pour répertorier tous les fichiers du projet, du dépôt et lorsque les valeurs par défaut sont configurées:
gcloud artifacts files list
Pour répertorier les fichiers d'un projet, d'un dépôt et d'un emplacement spécifiés, exécutez la commande suivante:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Pour répertorier les fichiers de toutes les versions d'un package spécifique:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Pour répertorier les fichiers d'une version de package spécifique:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
Pour répertorier les fichiers d'un tag spécifique:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--tag=TAG
Remplacez les valeurs suivantes :
LOCATION
: le régional ou multirégional emplacement du dépôt.PROJECT
: ID de votre projet Google Cloud. Si l'ID du projet contient le signe deux-points (":"), consultez la section Projets à l'échelle du domaine.REPOSITORY
: nom du dépôt dans lequel l'image sont stockées.PACKAGE
: nom du package.VERSION
: version du package.TAG
: balise associée au package.
Examples
Examinez les informations de package suivantes:
- Projet :
my-project
- Dépôt:
my-repo
- Emplacement du dépôt :
us-west1
- Colis:
my-app
La commande suivante permet de lister tous les fichiers du dépôt my-repo
dans
l'emplacement us-west1
dans le projet par défaut:
gcloud artifacts files list \
--location=us-west1 \
--repository=my-repo
La commande suivante permet de lister les fichiers dans la version 1.0
du package.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--version=1.0
La commande suivante répertorie les fichiers de la version du package avec le paramètre
balise 1.0-dev
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--tag=1.0-dev
Ajout de tags aux packages
Modes de dépôt:standard
Vous pouvez afficher, ajouter, mettre à jour et supprimer des tags. Les tags peuvent vous aider à gérer les versions sémantiques de vos packages et à simplifier leur installation à un stade spécifique du développement.
Par exemple, vous pouvez ajouter le tag rc
à la version candidate actuelle. Votre équipe peut ensuite installer la version appropriée en fonction de la balise au lieu d'un spécificateur de version. L'annulation de la publication des versions préliminaires inutilisées n'a pas d'incidence sur vos dépendances sur le package de version finale.
Afficher des tags
Pour afficher les tags d'un package, procédez comme suit :
Console
Ouvrez la page Dépôts de la console Google Cloud.
Cliquez sur le package pour afficher les versions et les balises associées.
Sélectionnez la version du package à taguer.
Sur la ligne de la version sélectionnée, cliquez sur Autres actions (), puis sur Modifier les tags.
Saisissez de nouveaux tags dans le champ, puis cliquez sur ENREGISTRER.
gcloud
Exécutez la commande suivante :
gcloud artifacts tags list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Où :
- PACKAGE est le nom du package dans le dépôt.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
- LOCATION est un emplacement régional ou multirégional. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.
Par exemple, pour afficher les tags du package my-package
dans le dépôt my-repo
à l'emplacement par défaut, exécutez la commande suivante:
gcloud artifacts tags list --package=my-pkg --repository=my-repo
Créer des tags
Vous pouvez créer une balise pour une version spécifique d'un package.
Pour ajouter un tag à une image existante d'un dépôt, procédez comme suit :
Console
Ouvrez la page Dépôts de la console Google Cloud.
Cliquez sur le package pour en afficher les versions.
Sélectionnez la version du package à taguer.
Sur la ligne de la version sélectionnée, cliquez sur Autres actions (), puis sur Modifier les tags.
Saisissez de nouveaux tags dans le champ, puis cliquez sur ENREGISTRER.
gcloud
Exécutez la commande suivante :
gcloud artifacts tags create TAG --package=PACKAGE \
version=VERSION [--location=LOCATION] [--repository=REPOSITORY]
Où :
- TAG est la balise que vous souhaitez appliquer au package.
- PACKAGE est le nom du package dans le dépôt.
- VERSION est la version du package que vous souhaitez taguer.
- LOCATION est un emplacement régional ou multirégional. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
Par exemple, pour créer le tag release-candidate
pour la version 1.0.0
du package my-package
dans le dépôt my-repo
à l'emplacement par défaut, exécutez la commande suivante :
gcloud artifacts tags create release-candidate --version=1.0.0 \
--package=my-pkg --repository=my-repo
Mettre à jour des tags
Vous pouvez modifier une balise associée à une version de package.
Pour modifier un tag existant, procédez comme suit :
Console
Ouvrez la page Dépôts de la console Google Cloud.
Cliquez sur le package pour en afficher les versions.
Sélectionnez la version du package contenant la balise à modifier.
Sur la ligne de la version sélectionnée, cliquez sur Autres actions (), puis sur Modifier les tags.
Modifiez le tag, puis cliquez sur ENREGISTRER.
gcloud
Exécutez la commande suivante :
gcloud artifacts tags update TAG --package=PACKAGE \
version=VERSION [--location=LOCATION] [--repository=REPOSITORY]
Où :
- TAG est la balise que vous souhaitez appliquer au package.
- PACKAGE est le nom du package dans le dépôt.
- VERSION est la version du package que vous souhaitez taguer.
- LOCATION est un emplacement régional ou multirégional. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
Par exemple, pour remplacer le tag de la version 1.0.0
du package my-package
par production
dans le dépôt my-repo
à l'emplacement par défaut, exécutez la commande suivante:
gcloud artifacts tags update production --version=1.0.0 \
--package=my-pkg --repository=my-repo
Annuler l'ajout de tags sur les versions du package
Vous pouvez supprimer une balise existante d'une version de package.
Pour supprimer un tag, procédez comme suit :
Console
Ouvrez la page Dépôts de la console Google Cloud.
Cliquez sur l'image pour en afficher les différentes versions.
Sélectionnez la version de l'image pour supprimer le tag.
Sur la ligne de la version sélectionnée, cliquez sur Autres actions (), puis sur Modifier les tags.
Supprimez le tag, puis cliquez sur ENREGISTRER.
gcloud
Exécutez la commande suivante :
gcloud artifacts tags delete TAG --package=PACKAGE \
[--location=<LOCATION] [--repository=REPOSITORY]
Où :
- TAG est la balise que vous souhaitez appliquer au package.
- PACKAGE est le nom du package dans le dépôt.
- LOCATION est un emplacement régional ou multirégional. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
Par exemple, pour supprimer le tag release-candidate
du package my-package
du dépôt my-repo
à l'emplacement par défaut, exécutez la commande suivante:
gcloud artifacts tags delete release-candidate --package=my-pkg \
--repository=my-repo
Installer des packages
Modes de dépôt:standard, distant, virtuel
Pour installer un package à partir du dépôt de packages Node.js, procédez comme suit:
Si vous utilisez l'outil d'aide à la connexion pour s'authentifier avec un jeton d'accès, obtenez un nouveau jeton.
Utilisez la commande
npm install
ouyarn add
.npm
Pour installer une version avec la balise
latest
:npm install @SCOPE/PACKAGE
Pour installer une version avec une autre balise:
npm install @SCOPE/PACKAGE@TAG
Pour installer une version spécifique:
npm install @SCOPE/PACKAGE@VERSION
yarn
Pour installer une version avec la balise
latest
:yarn add @SCOPE/PACKAGE
Pour installer une version avec une autre balise:
yarn add @SCOPE/PACKAGE@TAG
Pour installer une version spécifique:
yarn add @SCOPE/PACKAGE@VERSION
Remplacez les valeurs suivantes :
- SCOPE est le champ d'application associé au dépôt. Si votre
Le dépôt de packages Node.js n'est pas configuré avec un champ d'application, omettez
@SCOPE/
à partir de la commande. - PACKAGE est le nom du package dans le dépôt.
- TAG est le tag de la version que vous souhaitez installer.
- VERSION est le numéro de version que vous souhaitez installer.
- SCOPE est le champ d'application associé au dépôt. Si votre
Le dépôt de packages Node.js n'est pas configuré avec un champ d'application, omettez
Lorsque vous spécifiez un package comme dépendance dans package.json
, assurez-vous que
vous incluez le champ
d'application du dépôt. L'exemple suivant montre le champ d'application @dev-repo
d'un package nommé my-package
.
"dependencies": {
"@dev-repo/my-package": ">=1.0.0"
}
Pour les dépôts standards, vous téléchargez un package directement à partir du dépôt.
Pour un dépôt distant, vous téléchargez une copie en cache du package et de ses les dépendances. Si aucune copie mise en cache n'existe, le dépôt distant se télécharge le package à partir de la source en amont et le met en cache avant de vous le servir. Vous pouvez vérifier que le dépôt distant a récupéré les packages à partir de en amont en affichant la liste des packages dans le dépôt.
Pour un dépôt virtuel, Artifact Registry recherche des dépôts en amont pour le package demandé.
- Les dépôts distants en amont téléchargent et mettent en cache le package demandé si aucune copie en cache n'existe. Les dépôts virtuels ne traitent que les données les packages, ils ne les stockent pas.
- Si vous demandez une version disponible dans plusieurs flux en amont Artifact Registry choisit un dépôt en amont à utiliser en fonction des paramètres de priorité configurés pour le dépôt virtuel.
Prenons l'exemple d'un dépôt virtuel avec les paramètres de priorité suivants : pour les dépôts en amont:
main-repo
: priorité définie sur100
secondary-repo1
: priorité définie sur80
.secondary-repo2
: priorité définie sur80
.test-repo
: priorité définie sur20
.
main-repo
ayant la valeur de priorité la plus élevée, le dépôt virtuel
la recherche toujours en premier.
La priorité de secondary-repo1
et secondary-repo2
est définie sur 80
. Si un
le package demandé n'est pas disponible dans main-repo
, Artifact Registry
effectue ensuite une recherche dans ces dépôts. Puisqu'ils ont tous les deux
la même valeur de priorité,
Artifact Registry peut choisir de diffuser un package à partir de l'un ou l'autre des dépôts
si la version est disponible dans les deux.
test-repo
a la valeur de priorité la plus basse et diffusera un artefact stocké si
aucun des autres dépôts en amont ne le possède.
Supprimer des packages
Modes de dépôt:standard, distant
Vous pouvez supprimer un package et toutes ses versions, ou supprimer une version spécifique.
- La suppression d'un package est irréversible.
- Pour les dépôts distants, seule la copie mise en cache du package est supprimée. La source en amont n'est pas affectée. Si vous supprimez un package mis en cache, Artifact Registry le téléchargera et le mettra en cache la prochaine fois que reçoit une requête pour la même version du package.
Une fois la version de package publiée, vous ne pouvez pas republier un package du même nom et de la même version, même après la suppression de la version. Il s'agit d'un Restriction npm pour garantir que le contenu d'une version de package publiée est toujours le même.
Si vous souhaitez encourager les utilisateurs à installer une version mise à jour du package, exécutez la commande npm deprecate pour marquer l'ancienne version du package comme étant obsolète. Lorsqu'un utilisateur tente d'installer le package obsolète, Artifact Registry renvoie un avertissement d'obsolescence.
Avant de supprimer un package ou une version de package, vérifiez que vous avez communiqué ou résolu toute dépendance importante associée.
Pour supprimer un package, procédez comme suit :
Console
Ouvrez la page Dépôts de la console Google Cloud.
Dans la liste des dépôts, cliquez sur le dépôt approprié.
La page Packages répertorie les packages du dépôt.
Sélectionnez le package que vous souhaitez supprimer.
Cliquez sur SUPPRIMER.
Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.
gcloud
Exécutez la commande suivante :
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Où
- PACKAGE est le nom du package dans le dépôt.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
- LOCATION est un régional ou multirégional position. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous configuré un emplacement default, vous pouvez omettre cette option pour utiliser par défaut.
--async
renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.
Pour supprimer des versions d'un package, procédez comme suit :
Console
Ouvrez la page Dépôts de la console Google Cloud.
Dans la liste des dépôts, cliquez sur le dépôt approprié.
La page Packages répertorie les packages du dépôt.
Cliquez sur un package pour afficher ses versions.
Sélectionnez les versions que vous souhaitez supprimer.
Cliquez sur SUPPRIMER.
Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.
gcloud
Exécutez la commande suivante :
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Où
- PACKAGE est le nom du package dans le dépôt.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
- LOCATION est un régional ou multirégional position. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous configuré un emplacement default, vous pouvez omettre cette option pour utiliser par défaut.
--async
est immédiatement renvoyé, sans attendre que l'opération en cours terminé.
Étape suivante
- En savoir plus sur la gestion des packages Maven
- En savoir plus sur la gestion des images de conteneurs
- Télécharger des fichiers individuels d'un package