En esta página, se describen las siguientes tareas:
- Visualizar y borrar paquetes y versiones de paquetes
- Visualizar, crear, actualizar y borrar etiquetas
Antes de comenzar
- Si el repositorio de destino no existe, crea un repositorio nuevo.
- Verifica que tengas los permisos necesarios para el repositorio.
- Configura la autenticación para la Administración de socios de red.
- (Opcional) Configura valores predeterminados para los comandos de gcloud.
- Si usas el auxiliar de credenciales de npm para la autenticación, obtén un token de acceso antes de conectarte a un repositorio con npm.
Funciones obligatorias
Si quieres obtener los permisos que necesitas para administrar paquetes, pídele a tu administrador que te otorgue los siguientes roles de IAM en el repositorio:
-
Ver paquetes, archivos en paquetes y etiquetas:
Lector de Artifact Registry (
roles/artifactregistry.reader
) -
Descarga o instala paquetes:
Lector de Artifact Registry (
roles/artifactregistry.reader
) -
Agrega paquetes a un repositorio:
Escritor de Artifact Registry (
roles/artifactregistry.writer
) -
Borra paquetes:
Administrador del repositorio de Artifact Registry (
roles/artifactregistry.repoAdmin
)
Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.
Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.
Obtén un token de acceso
Los tokens de acceso son válidos durante 60 minutos. Genera un token de acceso poco antes de ejecutar comandos que interactúen con los repositorios.
Para obtener un token, usa una de estas opciones:
Usa el comando
npx
para actualizar el token de acceso.Asegúrate de que las credenciales para conectarte al registro público de la Administración de socios de red estén en el archivo de configuración de la Administración de socios de red de tu usuario,
~/.npmrc
.Ejecuta el siguiente comando en el directorio del proyecto de Node.js.
npx google-artifactregistry-auth
Si tu repositorio de Artifact Registry está configurado como tu registro global y tus paquetes no tienen alcance, usa el siguiente comando para que se pueda descargar el auxiliar de credenciales del registro público de npm en lugar de tu repositorio de Artifact Registry.
npm_config_registry=https://registry.npmjs.org npx google-artifactregistry-auth
Agrega una secuencia de comandos al archivo
package.json
en tu proyecto."scripts": { "artifactregistry-login": "npx google-artifactregistry-auth" }
Ejecuta la secuencia de comandos en el directorio del proyecto de Node.js.
npm run artifactregistry-login
Artifact Registry lee la configuración del repositorio de Artifact Registry en el archivo .npmrc
del proyecto y la usa para agregar credenciales de token al archivo .npmrc
del usuario. Almacenar el token en el archivo .npmrc
del usuario aísla tus credenciales del código fuente y del sistema de control de origen.
Agrega paquetes
Modos de repositorio: estándar
La versión específica de un paquete solo se puede publicar una vez. Esta es una restricción de npm para garantizar que el contenido de una versión de paquete publicado sea siempre el mismo. Por lo tanto, no puedes hacer lo siguiente:
- Reemplazar una versión del paquete si la vuelves a publicar en el repositorio
- Quitar un paquete o su versión del repositorio y, luego, publicar un paquete con el mismo nombre y el mismo número de versión.
Si no especificas una etiqueta cuando publicas un paquete, npm agrega la etiqueta latest
.
Para simplificar la instalación de los paquetes en una etapa de desarrollo específica, considera publicarlos con una etiqueta, como beta
o dev
.
Artifact Registry aplica nombres de paquetes alfanuméricos en minúscula para los paquetes de npm.
Para agregar un paquete, haz lo siguiente:
Asegúrate de que el nombre del paquete en
package.json
incluya el alcance configurado para tu repositorio. En el siguiente ejemplo, se muestra un paquete con el alcancedev-repo
."name": "@dev-repo/my-package"
Si usas el asistente de credenciales para autenticar con un token de acceso, obtén un token nuevo.
Agrega paquetes al repositorio. Puedes usar un comando de
npm
oyarn
.Para etiquetar el paquete, incluye la marca
--tag
y reemplaza TAG por la etiqueta que deseas usar. Si no incluyes la marca--tag
, npm configurará automáticamente la etiqueta enlatest
.npm publish --tag=TAG
yarn publish --tag TAG
Visualiza paquetes y versiones
Modos de repositorio: estándar, remoto, virtual
Para obtener información de paquetes con npm
o yarn
, haz lo siguiente:
Si usas el asistente de credenciales para autenticar con un token de acceso, obtén un token nuevo.
Ejecuta el comando correspondiente:
npm view
yarn info
Para ver los paquetes y sus versiones con Google Cloud Console o gcloud
, sigue estos pasos:
Consola
Abre la página Repositorios en la consola de Google Cloud.
En la lista de repositorios, haz clic en el repositorio correspondiente.
En la página Paquetes, se enumeran los paquetes del repositorio.
Haz clic en un paquete para ver las versiones de este.
gcloud
Para enumerar los paquetes en un repositorio, ejecuta el siguiente comando:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
¿Por dónde
- REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
- LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.
Para ver las versiones de un paquete, ejecuta el siguiente comando:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Donde
- PACKAGE es el ID del paquete o el identificador completamente calificado del paquete.
- REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
- LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.
La visualización de paquetes y versiones desde la consola de Google Cloud o gcloud CLI solo está disponible para los repositorios estándar y remotos.
Para los repositorios remotos, la lista que se muestra debe incluir todas las dependencias directas y transitivas que se almacenan en caché en el repositorio.
Enumera los archivos
Modos de repositorio: estándar, remoto
Puedes enumerar archivos en un repositorio, archivos en todas las versiones de un paquete específico o archivos en una versión específica de un paquete.
En todos los comandos siguientes, puedes configurar una cantidad máxima de archivos que se mostrarán si agregas la marca --limit
al comando.
Para enumerar todos los archivos en el proyecto, el repositorio y la ubicación predeterminados cuando se configuran los valores predeterminados, haz lo siguiente:
gcloud artifacts files list
Para mostrar una lista de los archivos de un proyecto, un repositorio y una ubicación especificados, ejecuta el siguiente comando:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Para mostrar una lista de archivos para todas las versiones de un paquete específico:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Para mostrar una lista de los archivos de una versión específica de un paquete, haz lo siguiente:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
Para mostrar una lista de los archivos de una etiqueta específica, sigue estos pasos:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--tag=TAG
Reemplaza los siguientes valores:
- LOCATION es la ubicación regional o multirregional del repositorio.
- PROJECT es el ID del proyecto de Google Cloud.
Si el ID de tu proyecto contiene dos puntos (
:
), consulta Proyectos con alcance de dominio. - REPOSITORY es el nombre del repositorio en el que se almacena la imagen.
- PACKAGE es el nombre del paquete.
- VERSION es la versión del paquete.
- TAG es la etiqueta asociada con el paquete.
Ejemplos
Considera la siguiente información del paquete:
- Proyecto:
my-project
- Repositorio:
my-repo
- Ubicación del repositorio:
us-central1
- Paquete:
my-app
Con el siguiente comando, se enumeran todos los archivos del repositorio my-repo
en la ubicación us-central1
del proyecto predeterminado:
gcloud artifacts files list \
--location=us-central1 \
--repository=my-repo
Con el siguiente comando, se enumeran los archivos en la versión 1.0
del paquete.
gcloud artifacts files list \
--project=my-project \
--location=us-central1 \
--repository=my-repo \
--package=my-app \
--version=1.0
Con el siguiente comando, se enumeran los archivos en la versión del paquete con la etiqueta 1.0-dev
.
gcloud artifacts files list \
--project=my-project \
--location=us-central1 \
--repository=my-repo \
--package=my-app \
--tag=1.0-dev
Etiqueta paquetes
Modos de repositorio: estándar
Puedes ver, agregar, actualizar y borrar etiquetas. Las etiquetas pueden ayudarte a administrar las versiones semánticas de tus paquetes y optimizar su instalación en una etapa específica de desarrollo.
Por ejemplo, puedes etiquetar la compilación candidata para lanzamiento actual con rc
. Luego, tu equipo podrá instalar la versión correcta según la etiqueta en lugar de un especificador de versión. Si anulas la publicación de versiones previas al lanzamiento sin usar, no se romperán las dependencias del paquete candidato.
Visualiza etiquetas
Para ver las etiquetas de un paquete, haz lo siguiente:
Consola
Abre la página Repositorios en la consola de Google Cloud.
Haz clic en el paquete para ver las versiones y las etiquetas asociadas.
Selecciona la versión del paquete que deseas etiquetar.
En la fila de la versión seleccionada, haz clic en Más acciones () y, luego, en Editar etiquetas.
Escribe las etiquetas nuevas en el campo y haz clic en GUARDAR.
gcloud
Ejecuta el comando:
gcloud artifacts tags list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Donde
- PACKAGE es el nombre del paquete en el repositorio.
- REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
- LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.
Por ejemplo, para ver las etiquetas del paquete my-package
del repositorio my-repo
en la ubicación predeterminada, ejecuta el siguiente comando:
gcloud artifacts tags list --package=my-pkg --repository=my-repo
Crea etiquetas
Puedes crear una etiqueta para una versión específica de un paquete.
Para etiquetar una imagen existente en un repositorio, haz lo siguiente:
Consola
Abre la página Repositorios en la consola de Google Cloud.
Haz clic en el paquete para ver las versiones de este.
Selecciona la versión del paquete que deseas etiquetar.
En la fila de la versión seleccionada, haz clic en Más acciones () y, luego, en Editar etiquetas.
Escribe las etiquetas nuevas en el campo y haz clic en GUARDAR.
gcloud
Ejecuta el siguiente comando:
gcloud artifacts tags create TAG --package=PACKAGE \
version=VERSION [--location=LOCATION] [--repository=REPOSITORY]
Donde
- TAG es la etiqueta que deseas aplicar al paquete.
- PACKAGE es el nombre del paquete en el repositorio.
- VERSION es la versión del paquete que deseas etiquetar.
- LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.
- REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
Por ejemplo, a fin de crear la etiqueta release-candidate
para la versión 1.0.0
del paquete my-package
en el repositorio my-repo
en la ubicación predeterminada, ejecuta el siguiente comando:
gcloud artifacts tags create release-candidate --version=1.0.0 \
--package=my-pkg --repository=my-repo
Actualiza etiquetas
Puedes cambiar una etiqueta asociada con la versión de un paquete.
Para cambiar una etiqueta existente, haz lo siguiente:
Consola
Abre la página Repositorios en la consola de Google Cloud.
Haz clic en el paquete para ver las versiones de este.
Selecciona la versión del paquete con la etiqueta que deseas cambiar.
En la fila de la versión seleccionada, haz clic en Más acciones () y, luego, en Editar etiquetas.
Edita la etiqueta y haz clic en GUARDAR.
gcloud
Ejecuta el siguiente comando:
gcloud artifacts tags update TAG --package=PACKAGE \
version=VERSION [--location=LOCATION] [--repository=REPOSITORY]
Donde
- TAG es la etiqueta que deseas aplicar al paquete.
- PACKAGE es el nombre del paquete en el repositorio.
- VERSION es la versión del paquete que deseas etiquetar.
- LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.
- REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
Por ejemplo, para cambiar la etiqueta de la versión 1.0.0
del paquete my-package
a production
en el repositorio my-repo
en la ubicación predeterminada, ejecuta el siguiente comando:
gcloud artifacts tags update production --version=1.0.0 \
--package=my-pkg --repository=my-repo
Quita las etiquetas de versiones de paquetes
Puedes quitar una etiqueta existente de una versión de un paquete.
Para quitar una etiqueta, haz lo siguiente:
Consola
Abre la página Repositorios en la consola de Google Cloud.
Haz clic en la imagen para ver las versiones de esta.
Selecciona la versión de la imagen de la que deseas quitar una etiqueta.
En la fila de la versión seleccionada, haz clic en Más acciones () y, luego, en Editar etiquetas.
Borra la etiqueta y haz clic en GUARDAR.
gcloud
Ejecuta el siguiente comando:
gcloud artifacts tags delete TAG --package=PACKAGE \
[--location=<LOCATION] [--repository=REPOSITORY]
Donde
- TAG es la etiqueta que deseas aplicar al paquete.
- PACKAGE es el nombre del paquete en el repositorio.
- LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.
- REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
Por ejemplo, para quitar la etiqueta release-candidate
del paquete my-package
en el repositorio my-repo
en la ubicación predeterminada, ejecuta el siguiente comando:
gcloud artifacts tags delete release-candidate --package=my-pkg \
--repository=my-repo
Instala paquetes
Modos de repositorio: estándar, remoto, virtual
Sigue estos pasos para instalar un paquete desde el repositorio de paquetes de Node.js:
Si usas el asistente de credenciales para autenticar con un token de acceso, obtén un token nuevo.
Usa el comando
npm install
oyarn add
.npm
Para instalar una versión con la etiqueta
latest
, sigue estos pasos:npm install @SCOPE/PACKAGE
Para instalar una versión con una etiqueta diferente, sigue estos pasos:
npm install @SCOPE/PACKAGE@TAG
Para instalar una versión específica, sigue estos pasos:
npm install @SCOPE/PACKAGE@VERSION
yarn
Para instalar una versión con la etiqueta
latest
, sigue estos pasos:yarn add @SCOPE/PACKAGE
Para instalar una versión con una etiqueta diferente, sigue estos pasos:
yarn add @SCOPE/PACKAGE@TAG
Para instalar una versión específica, sigue estos pasos:
yarn add @SCOPE/PACKAGE@VERSION
Reemplaza los siguientes valores:
- SCOPE es el alcance asociado con el repositorio. Si el repositorio de paquetes de Node.js no está configurado con un permiso, omite
@SCOPE/
del comando. - PACKAGE es el nombre del paquete en el repositorio.
- TAG es la etiqueta de la versión que deseas instalar.
- VERSION es el número de versión que deseas instalar.
- SCOPE es el alcance asociado con el repositorio. Si el repositorio de paquetes de Node.js no está configurado con un permiso, omite
Cuando especifiques un paquete como dependencia en package.json
, asegúrate de incluir el alcance para el repositorio. En el siguiente ejemplo, se muestra el permiso @dev-repo
para un paquete llamado my-package
.
"dependencies": {
"@dev-repo/my-package": ">=1.0.0"
}
Para los repositorios estándar, debes descargar un paquete directamente desde el repositorio.
En el caso de un repositorio remoto, descarga una copia almacenada en caché del paquete y sus dependencias. Si no existe una copia almacenada en caché, el repositorio remoto descarga el paquete de la fuente ascendente y lo almacena en caché antes de entregarlo. Para verificar que el repositorio remoto recuperó los paquetes de la fuente ascendente, visualiza la lista de paquetes en el repositorio.
En el caso de un repositorio virtual, Artifact Registry busca en los repositorios ascendentes el paquete solicitado.
- Los repositorios remotos ascendentes descargarán y almacenarán en caché el paquete solicitado si no existe una copia almacenada en caché. Los repositorios virtuales solo entregan paquetes solicitados, no los almacenan.
- Si solicitas una versión que está disponible en más de un repositorio upstream, Artifact Registry elige un repositorio upstream para usar según la configuración de prioridad del repositorio virtual.
Por ejemplo, considera un repositorio virtual con la siguiente configuración de prioridad para repositorios upstream:
main-repo
: Se estableció la prioridad en100
secondary-repo1
: Se estableció la prioridad en80
.secondary-repo2
: Se estableció la prioridad en80
.test-repo
: Se estableció la prioridad en20
.
main-repo
tiene el valor de prioridad más alto, por lo que el repositorio virtual siempre lo busca primero.
secondary-repo1
y secondary-repo2
tienen la prioridad establecida en 80
. Si un
paquete solicitado no está disponible en main-repo
, Artifact Registry
buscará en estos repositorios a continuación. Dado que ambos tienen el mismo valor de prioridad,
Artifact Registry puede optar por entregar un paquete de cualquiera de los repositorios
si la versión está disponible en ambos.
test-repo
tiene el valor de prioridad más bajo y entregará un artefacto almacenado si ninguno de los otros repositorios ascendentes lo tiene.
Borra paquetes
Modos de repositorio: estándar, remoto
Puedes borrar un paquete y todas sus versiones, o bien borrar una versión específica.
- Una vez que borres un paquete, no podrás deshacer la acción.
- En el caso de los repositorios remotos, solo se borra la copia almacenada en caché del paquete. La fuente ascendente no se ve afectada. Si borras un paquete almacenado en caché, Artifact Registry lo descargará y volverá a almacenar en caché la próxima vez que el repositorio reciba una solicitud para la misma versión del paquete.
Después de publicar una versión de un paquete, no puedes volver a publicar un paquete con la misma combinación de nombre y versión, incluso después de borrar la versión. Esta es una restricción de npm para garantizar que el contenido de una versión de paquete publicado sea siempre el mismo.
Si quieres alentar a los usuarios a instalar una versión actualizada del paquete, usa el comando npm deprecate para marcar la versión anterior del paquete como obsoleta. Cuando un usuario intenta instalar el paquete obsoleto, Artifact Registry muestra una advertencia de baja.
Antes de borrar un paquete o una versión de un paquete, verifica que se haya comunicado o abordado cualquier dependencia importante en este.
Para borrar un paquete, haz lo siguiente:
Consola
Abre la página Repositorios en la consola de Google Cloud.
En la lista de repositorios, haz clic en el repositorio correspondiente.
En la página Paquetes, se enumeran los paquetes del repositorio.
Selecciona el paquete que quieres borrar.
Haz clic en BORRAR.
En el cuadro de diálogo de confirmación, haz clic en BORRAR.
gcloud
Ejecuta el siguiente comando:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
¿Por dónde
- PACKAGE es el nombre del paquete en el repositorio.
- REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
- LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.
--async
se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.
Para borrar versiones de un paquete, haz lo siguiente:
Consola
Abre la página Repositorios en la consola de Google Cloud.
En la lista de repositorios, haz clic en el repositorio correspondiente.
En la página Paquetes, se enumeran los paquetes del repositorio.
Haz clic en un paquete para ver sus versiones.
Selecciona las versiones que deseas borrar.
Haz clic en BORRAR.
En el cuadro de diálogo de confirmación, haz clic en BORRAR.
gcloud
Ejecuta el siguiente comando:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
¿Por dónde
- PACKAGE es el nombre del paquete en el repositorio.
- REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
- LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.
--async
se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.
¿Qué sigue?
- Obtén más información sobre cómo administrar paquetes de Maven.
- Aprende a administrar imágenes de contenedor.