Cómo configurar la autenticación en Artifact Registry para Maven y Gradle

Debes autenticarte en Artifact Registry cuando usas un servidor de para conectarse a un repositorio de Artifact Registry. Esta documentación se enfoca en la configuración de Maven y Gradle.

No es necesario que configures la autenticación para Cloud Build ni los entornos de ejecución de Google Cloud, como Google Kubernetes Engine y Cloud Run, pero debes verificar que los permisos necesarios estén configurados. Para obtener más información, consulta la información sobre Cloud Build y la implementación en entornos de ejecución de Google Cloud.

Antes de comenzar

  1. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  2. (Opcional) Configura valores predeterminados para los comandos de gcloud.
  3. Si configuras la autenticación con un repositorio estándar, verifica la política de versiones para que puedas configurar tu proyecto de Maven correctamente para los tipos de paquetes de Java que puedes subir.

    Console

    1. Abre la página Repositorios en la consola de Google Cloud.

      Abrir la página Repositorios

    2. Haz clic en el repositorio en el que deseas autenticarte.

      En la sección Detalles, se muestra la política de la versión. Si el repositorio tiene una política de versión de instantáneas, el campo Permitir que se reemplacen las instantáneas indica si las instantáneas pueden reemplazar las versiones de instantáneas coincidentes en el repositorio.

    gcloud

    Ejecuta el siguiente comando para ver la descripción de un repositorio.

    gcloud artifacts repositories describe REPOSITORY \
          --project=PROJECT \
          --location=LOCATION
    

    Dónde

    • REPOSITORY es el ID del repositorio. Si configuraste un repositorio predeterminado de Artifact Registry, se usa cuando se omite esta marca del comando.
    • PROJECT es el ID del proyecto. Si se omite esta marca, se usa el proyecto predeterminado o actual.
    • LOCATION es la ubicación regional o multirregional del repositorio.

    El resultado del comando incluye información sobre la política de versiones en mavenConfig. En este ejemplo, el repositorio tiene una instantánea la política de versiones y las instantáneas no pueden reemplazar versiones idénticas en el en un repositorio de confianza.

    Encryption: Google-managed key
    createTime: '2021-10-04T19:39:10.897404Z'
    format: MAVEN
    mavenConfig:
      allowSnapshotOverwrites: false
      versionPolicy: SNAPSHOT
    

    Si un repositorio no tiene una política de versión, el valor de mavenConfig es {}.

Descripción general

Artifact Registry admite los siguientes métodos de autenticación.

Usa un asistente de autenticación
Esta opción proporciona la mayor flexibilidad. Cuando incluyes el asistente en tu configuración de Maven o Gradle, Artifact Registry busca credenciales de la cuenta de servicio en el entorno.
Especifica una clave de cuenta de servicio como una credencial
Usa esta opción cuando una aplicación no sea compatible con las credenciales predeterminadas de la aplicación, pero admita la autenticación mediante un nombre de usuario y una contraseña.

Las claves de la cuenta de servicio son credenciales de larga duración. Usa los siguientes lineamientos para limitar el acceso a tus repositorios:

  • Considera usar una cuenta de servicio dedicada para interactuar con los repositorios.
  • Otorga la función mínima de Artifact Registry que requiera la cuenta de servicio. Por ejemplo, asigna la función de lector de Artifact Registry a una cuenta de servicio que solo descargue artefactos.
  • Si los grupos de tu organización requieren diferentes niveles de acceso a repositorios específicos, otorga acceso a nivel de repositorio en lugar de a nivel de proyecto.
  • Sigue las prácticas recomendadas para administrar credenciales.

Autentica con un auxiliar de credenciales

Artifact Registry proporciona un vagón de Maven y un Complemento de Gradle como auxiliares de credenciales. Cuando usas el auxiliar de credenciales, las credenciales no se almacenan en tu proyecto de Java. En cambio, Artifact Registry busca las credenciales en el siguiente orden:

  1. Las credenciales predeterminadas de la aplicación (ADC), que es una estrategia que busca credenciales en el siguiente orden:

    1. Credenciales definidas en la variable de entorno GOOGLE_APPLICATION_CREDENTIALS

    2. Credenciales que la cuenta de servicio predeterminada para Compute Engine, Funciones de Google Kubernetes Engine, Cloud Run, App Engine o Cloud Run proporciona.

  2. Credenciales que proporciona Google Cloud CLI, incluidas las credenciales de usuario del comando gcloud auth application-default login

La variable GOOGLE_APPLICATION_CREDENTIALS hace que la cuenta de autenticación explícita, lo que facilita la solución de problemas. Si no usas la variable, verifica que las cuentas que pueda usar ADC tengan los permisos necesarios. Por ejemplo, el cuenta de servicio predeterminada para VMs de Compute Engine, nodos de Google Kubernetes Engine, y las revisiones de Cloud Run tienen acceso de solo lectura a los repositorios. Si desde estos entornos con la cuenta de servicio predeterminada debes modificar los permisos.

Configura una cuenta de servicio para un asistente de credenciales

Para crear una cuenta de servicio y configurar la autenticación mediante la variable de entorno, haz lo siguiente:

  1. Crea una cuenta de servicio que actúe en nombre de tu aplicación o elige una cuenta de servicio existente que uses para la automatización.

    Necesitarás la ubicación del archivo de claves de la cuenta de servicio para configurar la autenticación con Artifact Registry. En las cuentas existentes, puedes ver claves y crear claves nuevas en la página Cuentas de servicio.

    Ir a la página Cuentas de servicio

  2. Otorga el rol específico de Artifact Registry a la cuenta de servicio para proporcionar acceso al repositorio.

  3. Asigna la ubicación del archivo de claves de la cuenta de servicio a la variable GOOGLE_APPLICATION_CREDENTIALS para que el auxiliar de credenciales de Artifact Registry pueda obtener tu clave cuando se conecta con repositorios.

    export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
    

    En el ejemplo anterior, KEY-FILE es la ruta de acceso al archivo de claves de la cuenta de servicio.

Configura Maven

  1. Configura Maven para el tipo de repositorio que usas.

    Estándar

    1. Ejecuta el siguiente comando para imprimir la configuración del repositorio que deseas agregar a tu proyecto de Java.

      gcloud artifacts print-settings mvn \
          --project=PROJECT \
          --repository=REPOSITORY \
          --location=LOCATION
      

      Dónde

      • PROJECT es el ID del proyecto. Si se omite esta marca, se usa el proyecto predeterminado o actual.
      • REPOSITORY es el ID del repositorio. Si configuraste un repositorio predeterminado de Artifact Registry, se usa cuando se omite esta marca del comando.
      • LOCATION es la ubicación regional o multirregional del repositorio.
    2. Agrega la configuración que se muestra a las secciones correspondientes del archivo pom.xml en tu proyecto de Maven. Consulta la documentación de Maven Referencia de POM para obtener detalles sobre la estructura del archivo.

      En el siguiente ejemplo, se muestra la configuración de un repositorio que almacena versiones de instantáneas y de lanzamiento.

      <distributionManagement>
        <snapshotRepository>
          <id>artifact-registry</id>
          <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
        </snapshotRepository>
        <repository>
          <id>artifact-registry</id>
          <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
        </repository>
      </distributionManagement>
      
      <repositories>
        <repository>
          <id>artifact-registry</id>
          <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      
      <build>
        <extensions>
          <extension>
            <groupId>com.google.cloud.artifactregistry</groupId>
            <artifactId>artifactregistry-maven-wagon</artifactId>
            <version>2.2.3</version>
          </extension>
        </extensions>
      </build>
      

      Los elementos <release> y <snapshot> indican si el repositorio almacena paquetes de lanzamiento, paquetes de instantáneas o ambos. Esta configuración debe corresponder al repositorio política de la versión.

      El elemento <build> define el vagón de Artifact Registry de la siguiente manera: una extensión. Para obtener información sobre esta alternativa, consulta la documentación de las herramientas de Maven de Artifact Registry.

    Remoto o virtual

    Edita el archivo pom.xml de tu proyecto. Consulta la documentación de Maven Referencia de POM para obtener detalles sobre la estructura del archivo.

    En el siguiente ejemplo, se muestra la configuración de un repositorio remoto que almacena versiones de instantáneas y de lanzamiento. En este ejemplo, el proyecto tiene en una versión del paquete de Guava.

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.google.hello</groupId>
      <artifactId>repo-config</artifactId>
      <version>4.1-SNAPSHOT</version>
      <description>version 1 release</description>
    
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
          <version>28.0-jre</version>
        </dependency>
      </dependencies>
    
      <repositories>
        <repository>
          <id>central</id>
          <name>Maven Central remote repository</name>
          <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT_ID/REMOTE-REPOSITORY-NAME</url>
          <layout>default</layout>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    
      <build>
        <extensions>
          <extension>
            <groupId>com.google.cloud.artifactregistry</groupId>
            <artifactId>artifactregistry-maven-wagon</artifactId>
            <version>2.2.3</version>
          </extension>
        </extensions>
      </build>
    </project>
    
    • En la sección <repositories>, se define el repositorio de Artifact Registry. Para un repositorio remoto, el elemento <id> debe establecerse en central Esta configuración anula el valor predeterminado de central. el ID de repositorio heredado del Super POM:

    • En la sección <build>, se configura el vagón de Artifact Registry como una extensión. Para obtener información sobre esta alternativa, consulta la documentación de las herramientas de Maven de Artifact Registry.

    • En este ejemplo, la sección <dependencies> establece una dependencia en la versión 28.0-jre del paquete Guava.

  2. Maven resuelve algunas dependencias antes de aplicar un vagón definido en pom.xml, incluido lo siguiente:

    • Referencias en un proyecto secundario de Maven a un proyecto superior a través de <parent>.
    • Dependencias de complementos almacenadas en Artifact Registry.

    Si tu proyecto necesita resolver estas dependencias, debes usar el extensiones principales para garantizar que Maven pueda localizar archivos POM y complementos superiores.

    En tu proyecto, crea el archivo ${maven.projectBasedir}/.mvn/extensions.xml con el siguiente contenido. El elemento <extension> define la alternativa.

    <extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
      <extension>
        <groupId>com.google.cloud.artifactregistry</groupId>
        <artifactId>artifactregistry-maven-wagon</artifactId>
        <version>2.2.3</version>
      </extension>
    </extensions>
    

    Maven ahora puede resolver dependencias superiores o de complementos desde Artifact Registry.

Se completó la configuración de autenticación.

Configura Gradle

  1. Configura Gradle para el tipo de repositorio que usas.

    Estándar

    1. Ejecuta el siguiente comando para imprimir la configuración del repositorio que deseas agregar a tu proyecto de Java.

      gcloud artifacts print-settings gradle \
          --project=PROJECT \
          --repository=REPOSITORY \
          --location=LOCATION
      

      Dónde

      • PROJECT es el ID del proyecto. Si se omite esta marca, se usa el proyecto predeterminado o actual.
      • REPOSITORY es el ID del repositorio. Si configuraste un Artifact Registry predeterminado de Cloud, se usa cuando esta marca se omite en el comando.
      • LOCATION es la ubicación regional o multirregional del repositorio.
    2. Agrega la configuración del repositorio a tu archivo build.gradle. Lo siguiente En este ejemplo, se muestra la ubicación relativa de las secciones impresas.

      plugins {
        id "maven-publish"
        id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.3"
      }
      
      publishing {
        publications {
          mavenJava(MavenPublication) {
            groupId 'maven.example.id'
            from components.java
           }
        }
        repositories {
          maven {
            url "artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY"
          }
        }
      }
      repositories {
        maven {
          url "artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY"
        }
      }
      
      • En la sección plugins, se declara el complemento de Artifact Registry. Para obtener información sobre el complemento, consulta la documentación de las herramientas de Maven de Artifact Registry.

      • En la sección publishing, se definen los archivos que se subirán y el repositorio de destino de Artifact Registry. Puedes actualizar la lista de archivos en la sección publications cuando estés listo para realizar cargas. Para obtener información sobre la configuración de publicación, consulta la documentación del complemento de publicación de Maven.

    Remoto o virtual

    Agrega la configuración del repositorio a tu archivo build.gradle.

    En el siguiente ejemplo, se muestra la configuración de un repositorio remoto. En este ejemplo, el proyecto tiene una dependencia en una versión del paquete de Guava.

    plugins {
      id 'java'
      id "maven-publish"
      id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.3"
      id 'maven'
    }
    
    repositories {
      maven {
        url "artifactregistry://LOCATION-maven.pkg.dev /PROJECT_ID/REMOTE-REPOSITORY-NAME"
      }
    }
    dependencies {
      compile "com.google.guava:guava:31.1-jre"
    }
    
    • En la sección plugins, se declara el complemento de Artifact Registry. Para obtener información sobre el complemento, consulta la documentación del Herramientas de Maven de Artifact Registry.

    • En la sección repositories, se define el repositorio de Artifact Registry.

    • En este ejemplo, la sección dependencies establece una dependencia en el Versión 31.1-jre del paquete Guava.

    Define tus dependencias para tu paquete en la sección dependencies.

  2. Si necesitas usar repositorios en tu archivo init.gradle o settings.gradle, puedes agregar la configuración del complemento a esos archivos.

    Para init.gradle, agrega la siguiente configuración:

    initscript {
      repositories {
        maven {
          url "https://plugins.gradle.org/m2/"
        }
      }
      dependencies {
        classpath "gradle.plugin.com.google.cloud.artifactregistry:artifactregistry-gradle-plugin:2.2.3"
      }
    }
    apply plugin: com.google.cloud.artifactregistry.gradle.plugin.ArtifactRegistryGradlePlugin
    

    Para settings.gradle, agrega la siguiente configuración:

    buildscript {
      repositories {
        maven {
          url "https://plugins.gradle.org/m2/"              }
        }
      dependencies {
        classpath "gradle.plugin.com.google.cloud.artifactregistry:artifactregistry-gradle-plugin:2.2.3"
      }
    }
    apply plugin: "com.google.cloud.artifactregistry.gradle-plugin"
    

Se completó la configuración de autenticación.

Configura la autenticación con contraseña

Usa este enfoque cuando la aplicación de Java requiera la autenticación con un nombre de usuario y una contraseña especificados.

Configura una cuenta de servicio para la autenticación con contraseña

Para crear una cuenta de servicio:

  1. Crea una cuenta de servicio que actúe en nombre de tu aplicación o elige una cuenta de servicio existente que uses para la automatización.

    Necesitarás la ubicación del archivo de claves de la cuenta de servicio para configurar la autenticación con Artifact Registry. En las cuentas existentes, puedes ver claves y crear claves nuevas en la página Cuentas de servicio.

    Ir a la página Cuentas de servicio

  2. Si deseas activar la cuenta de servicio en la sesión actual de la CLI de gcloud, ejecuta el siguiente comando:

    gcloud auth activate-service-account ACCOUNT --key-file=KEY-FILE
    

    Dónde

    • ACCOUNT es la cuenta de usuario o servicio.
    • KEY-FILE es la ruta al archivo de claves JSON de la cuenta de servicio.

Configura Maven

  1. Configura Maven para el tipo de repositorio que usas.

    Estándar

    1. Ejecuta el siguiente comando para imprimir la configuración del repositorio que deseas agregar a tu proyecto de Java.

      gcloud artifacts print-settings mvn \
          --project=PROJECT \
          --repository=REPOSITORY \
          --location=LOCATION \
          --json-key=KEY-FILE
      

      Dónde

      • PROJECT es el ID del proyecto. Si se omite esta marca, se usa el proyecto predeterminado o actual.
      • REPOSITORY es el ID del repositorio. Si configuraste un repositorio predeterminado de Artifact Registry, se usa cuando se omite esta marca del comando.
      • LOCATION es la ubicación regional o multirregional del repositorio.
      • KEY-FILE es la ruta al archivo de claves JSON de la cuenta de servicio.

    El comando devuelve la configuración que se incluirá en tu proyecto de Java, incluida una versión codificada en base64 de tu clave privada.

    1. Agrega la configuración del repositorio que se muestra en el elemento <project> a las secciones correspondientes del archivo pom.xml en tu proyecto de Maven. Consulta la referencia del gerente de Operaciones con Socios de Maven para obtener detalles sobre la estructura del archivo.
    <project>
      <distributionManagement>
        <snapshotRepository>
          <id>artifact-registry</id>
          <url>https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
        </snapshotRepository>
        <repository>
          <id>artifact-registry</id>
          <url>https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
        </repository>
      </distributionManagement>
    
      <repositories>
        <repository>
          <id>artifact-registry</id>
          <url>https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </project>
    

    Los elementos <release> y <snapshot> indican si el repositorio almacena paquetes de lanzamiento, paquetes de instantáneas o ambos. Esta configuración debe corresponder con la política de versiones del repositorio.

    1. Agrega la configuración de autenticación que se muestra en el elemento <settings> a la sección <servers> del archivo ~/.m2/settings.xml. En la siguiente ejemplo, KEY es la clave codificada en base64 de tu archivo de claves.

    Consulta la referencia de configuración de Maven para obtener más información.

    <settings>
      <servers>
        <server>
          <id>artifact-registry</id>
          <configuration>
            <httpConfiguration>
              <get>
                <usePreemptive>true</usePreemptive>
              </get>
              <head>
                <usePreemptive>true</usePreemptive>
              </head>
              <put>
                <params>
                  <property>
                    <name>http.protocol.expect-continue</name>
                    <value>false</value>
                  </property>
                </params>
              </put>
            </httpConfiguration>
          </configuration>
          <username>_json_key_base64</username>
          <password>KEY</password>
        </server>
      </servers>
    </settings>
    

    Remoto o virtual

    1. Agrega la configuración del repositorio a las secciones correspondientes del archivo pom.xml en tu proyecto de Maven. Consulta la referencia del gerente de Operaciones con Socios de Maven para obtener detalles sobre la estructura del archivo.

      <repositories>
        <repository>
           <id>central</id>
           <name>Maven Central remote repository</name>
           <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT_ID/REMOTE-REPOSITORY-NAME</url>
           <layout>default</layout>
           <releases>
             <enabled>true</enabled>
           </releases>
           <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      

    En la sección <repositories>, se define el repositorio de Artifact Registry. Para un repositorio remoto, el elemento <id> debe establecerse como central. Este parámetro de configuración anula el valor predeterminado del ID del repositorio central que se hereda del Super POM.

    1. Codifica en Base64 tu archivo de claves con el siguiente comando. Reemplaza KEY-FILE por el nombre de tu archivo de claves.

      base64 -w 0 KEY-FILE
      
    2. Agrega la configuración de autenticación del elemento <settings> al la sección <servers> del archivo ~/.m2/settings.xml.

    Consulta la referencia de configuración de Maven para obtener más información.

    <settings>
      <servers>
        <server>
          <id>artifact-registry</id>
          <configuration>
            <httpConfiguration>
              <get>
                <usePreemptive>true</usePreemptive>
              </get>
              <head>
                <usePreemptive>true</usePreemptive>
              </head>
              <put>
                <params>
                  <property>
                    <name>http.protocol.expect-continue</name>
                    <value>false</value>
                  </property>
                </params>
              </put>
            </httpConfiguration>
          </configuration>
          <username>_json_key_base64</username>
          <password>KEY</password>
        </server>
      </servers>
    </settings>
    

Se completó la configuración de autenticación.

Configura Gradle

  1. Configura Gradle para el tipo de repositorio que usas.

    Estándar

    1. Ejecuta el siguiente comando para imprimir la configuración del repositorio que deseas agregar a tu proyecto de Java.

      gcloud artifacts print-settings gradle \
          --project=PROJECT \
          --repository=REPOSITORY \
          --location=LOCATION \
          --json-key=KEY-FILE
      

      Dónde

      • PROJECT es el ID del proyecto.
      • REPOSITORY es el ID o el identificador completamente calificado del repositorio. Si configuraste un repositorio predeterminado de Artifact Registry, se usa cuando se omite esta marca del comando.
      • KEY-FILE es la ruta al archivo de claves JSON de la cuenta de servicio. Si ejecutaste el comando para activar tu cuenta de servicio, puedes omitir esta marca.

      El comando muestra la configuración que se debe incluir en tu proyecto de Java, incluida una versión codificada en base64 de tu clave privada.

    2. En la siguiente línea de configuración que se muestra, se define una variable llamada artifactRegistryMavenSecret para la clave de tu cuenta de servicio. Agrega esta línea a tu archivo ~/.gradle/gradle.properties para que la clave no sea visible en tus compilaciones ni en tu repositorio de control de origen.

      artifactRegistryMavenSecret = KEY
      

      En esta línea, KEY es la clave privada de tu servicio archivo de claves de la cuenta de servicio. Para _json_key_base64, artifactRegistryMavenSecret se establece en la clave codificada en base64 como tu contraseña.

    3. En tu build.gradle, especifica la configuración del repositorio:

      plugins {
        id "maven-publish"
      }
      
      publishing {
        publications {
          mavenJava(MavenPublication) {
            groupId 'maven.example.id'
            from components.java
          }
        }
        repositories {
          maven {
            url "https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY"
            credentials {
              username = "_json_key_base64"
              password = "$artifactRegistryMavenSecret"
            }
            authentication {
              basic(BasicAuthentication)
            }
          }
        }
      }
      repositories {
        maven {
          url "https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY"
          credentials {
            username = "_json_key_base64"
            password = "$artifactRegistryMavenSecret"
          }
          authentication {
            basic(BasicAuthentication)
          }
        }
      }
      
      • En la sección repositories, se establece la URL del repositorio y las credenciales para la autenticación.
      • En la sección publishing, se definen los archivos que se subirán y el repositorio de destino de Artifact Registry. Puedes actualizar la lista de archivos en la sección publications cuando estés listo para realizar cargas. Para obtener información sobre la configuración de publicación, consulta la documentación del complemento de publicación de Maven.

    Remoto o virtual

    1. Usa el siguiente comando para codificar tu archivo de claves en Base64. Reemplaza KEY-FILE por el nombre de tu archivo de claves.

      base64 -w 0 KEY-FILE
      
    2. En el archivo ~/.gradle/gradle.properties, agrega la siguiente línea para que la clave no sea visible en tus compilaciones ni en tu repositorio de control de código fuente.

      artifactRegistryMavenSecret = KEY
      

      En esta línea, KEY es el contenido de tu archivo de claves codificado en Base64.

    3. Agrega la configuración del repositorio a tu archivo build.gradle.

    En el siguiente ejemplo, se muestra la configuración de un repositorio remoto.

    plugins {
      id 'java'
      id "maven-publish"
      id 'maven'
    }
    
    repositories {
      maven {
        url "artifactregistry://LOCATION-maven.pkg.dev /PROJECT_ID/REMOTE-REPOSITORY-NAME"
        credentials {
        username = "_json_key_base64"
        password = "$artifactRegistryMavenSecret"
      }
      authentication {
        basic(BasicAuthentication)
      }
      dependencies {
        compile "com.google.guava:guava:31.1-jre"
      }
    
    • En la sección repositories, se define Artifact Registry en un repositorio de confianza.

    • En este ejemplo, la sección dependencies establece una dependencia en la versión 31.1-jre del paquete Guava.

    Define tus dependencias para tu paquete en la sección dependencies.

Se completó la configuración de autenticación.

¿Qué sigue?