Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Integra con Cloud Build

En esta página, se describe cómo configurar Cloud Build para almacenar artefactos compilados en un repositorio de Artifact Registry.

Antes de comenzar

  1. Si el repositorio de destino no existe, crea un repositorio nuevo.
  2. La cuenta de servicio predeterminada de Cloud Build tiene permisos para subir y descargar de los repositorios en el mismo proyecto. Si Cloud Build está en un proyecto diferente al de tus repositorios, debes otorgar permisos a la cuenta de servicio de Cloud Build en el proyecto con los repositorios.

Configura una compilación de Docker

Después de otorgar permisos al repositorio de destino, estás listo para configurar Docker a fin de autenticar y enviar un paquete al repositorio. Se recomienda la integración mediante la cuenta de servicio de Cloud Build.

Para configurar Docker:

  1. Configura la autenticación para Docker.

  2. En tu archivo de configuración de compilación, agrega el paso para compilar y enviar las imágenes.

    En el siguiente ejemplo, se usan los siguientes valores para una imagen que se encuentra en el mismo directorio que el archivo de configuración de compilación:

    • La ubicación del repositorio us-central1
    • ID del proyecto de la compilación, resuelto con la sustitución predeterminada $PROJECT_ID
    • El nombre del repositorio my-repo
    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'us-central1-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/${_IMAGE}', '.' ]
    images:
    - 'us-central1-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/${_IMAGE}'
    

    Las variables ${_REPOSITORY} y ${_IMAGE} se usan para el nombre del repositorio y el nombre de la imagen en el repositorio, de forma que se puedan reemplazar en el momento de la compilación mediante sustituciones personalizadas de Cloud Build.

    Este enfoque es útil si deseas usar el mismo archivo de configuración de compilación a fin de enviar imágenes a repositorios para entornos diferentes, como de pruebas, de etapa de pruebas o de producción.

    Por ejemplo, este comando reemplazará my-repo por el nombre del repositorio y my-image por el nombre de la imagen.

    gcloud builds submit --config=cloudbuild.yaml \
      --substitutions=_REPOSITORY="my-repo",_IMAGE="my-image" .
    

Configura una compilación de Maven

Después de otorgar permisos al repositorio de destino, estarás listo para configurar Maven a fin de autenticar y enviar un paquete al repositorio. Se recomienda la integración mediante la cuenta de servicio de Cloud Build.

Para configurar Maven, haz lo siguiente:

  1. Configura la autenticación para Maven. Asegúrate de especificar el proyecto de destino y el repositorio correctos en tu archivo pom.xml.

  2. En el archivo de configuración de compilación de Cloud Build, agrega el paso para subir el paquete con Maven:

    steps:
    - name: gcr.io/cloud-builders/mvn
      args: ['deploy']
    

Configura una compilación de la Administración de socios de red

Después de otorgar permisos al repositorio de destino, estás listo para configurar la Administración de socios de red a fin de autenticarse y enviar un paquete al repositorio. Se recomienda la integración mediante la cuenta de servicio de Cloud Build.

Para configurar la Administración de socios de red, haz lo siguiente:

  1. Configura la autenticación para la Administración de socios de red. Asegúrate de especificar el proyecto de destino y el repositorio correctos en tu archivo .npmrc.

  2. Agrega una secuencia de comandos al archivo package.json en tu proyecto que actualice el token de acceso para la autenticación con el repositorio.

    "scripts": {
     "artifactregistry-login": "npx google-artifactregistry-auth"
    }
    
  3. En tu archivo de configuración de compilación, agrega el paso para subir el paquete al repositorio.

    steps:
    - name: gcr.io/cloud-builders/npm
      args: ['run', 'artifactregistry-login', ${_NPMRC}]
    - name: gcr.io/cloud-builders/npm
      args: ['publish', ${_PACKAGE}]
    

    En este fragmento de código:

    • ${_PACKAGE} es la ubicación del paquete, la carpeta o un archivo comprimido comprimido en formato gzip que contiene package.json y otros archivos en tu paquete.
    • ${_NPMRC} es la ruta al archivo .npmrc.

    Especifica los valores para estas variables con sustituciones de Cloud Build en el momento de la compilación.

    Por ejemplo, este comando sube un paquete en un directorio llamado src con configuración en /home/username/.npmrc:

    gcloud builds submit --config=cloudbuild.yaml \
        --substitutions=_PACKAGE="src",_NPMRC="/home/username/.npmrc" .