Configurer l'authentification auprès d'Artifact Registry pour Maven et Gradle

Vous devez vous authentifier auprès d'Artifact Registry lorsque vous utilisez une application tierce pour vous connecter à un dépôt Artifact Registry. Cette documentation se concentre sur la configuration de Maven et de Gradle.

Vous n'avez pas besoin de configurer l'authentification pour Cloud Build ni pour les environnements d'exécution tels que Google Kubernetes Engine et Cloud Run, mais vous devez vérifier que les autorisations requises sont configurées. Google CloudPour en savoir plus, consultez les informations sur Cloud Build et le déploiement dans les environnements d'exécution Google Cloud .

Avant de commencer

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

    gcloud init
  2. (Facultatif) Configurez des valeurs par défaut pour les commandes gcloud.
  3. Si vous configurez l'authentification avec un dépôt standard, vérifiez la règle de version afin de pouvoir configurer correctement votre projet Maven pour les types de packages Java que vous pouvez importer.

    Console

    1. Ouvrez la page Dépôts de la console Google Cloud.

      Ouvrir la page "Dépôts"

    2. Cliquez sur le dépôt avec lequel vous souhaitez vous authentifier.

      La section Détails affiche la règle de version. Si le dépôt dispose d'une stratégie de version d'instantané, le champ Allow snapshot overwrites (Autoriser le remplacement des instantanés) indique si les instantanés peuvent écraser les versions d'instantanés correspondantes dans le dépôt.

    gcloud

    Exécutez la commande suivante pour afficher la description d'un dépôt.

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

    • REPOSITORY est l'ID du dépôt. Si vous avez configuré un dépôt Artifact Registry par défaut, il est utilisé lorsque cette option est omise dans la commande.
    • PROJECT est l'ID de projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
    • LOCATION est l'emplacement régional ou multirégional du dépôt.

    Le résultat de la commande inclut des informations sur la stratégie de version sous mavenConfig. Dans cet exemple, le dépôt dispose d'une règle de gestion des versions des instantanés, et les instantanés ne peuvent pas écraser les versions identiques du dépôt.

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

    Si un dépôt ne dispose pas de règle de version, la valeur de mavenConfig est {}.

Présentation

Artifact Registry est compatible avec les méthodes d'authentification suivantes.

Utiliser un assistant d'authentification
Cette option offre la plus grande flexibilité. Lorsque vous incluez l'assistant dans votre configuration Maven ou Gradle, Artifact Registry recherche les identifiants de compte de service dans l'environnement.
Spécifier une clé de compte de service en tant qu'identifiant
Utilisez cette option lorsqu'une application n'est pas compatible avec Identifiants par défaut de l'application, mais permet l'authentification avec un nom d'utilisateur et un mot de passe.

Les clés de compte de service sont des identifiants de longue durée. Suivez les instructions ci-dessous pour limiter l'accès à vos dépôts :

  • Envisagez d'utiliser un compte de service dédié pour interagir avec les dépôts.
  • Attribuez le rôle Artifact Registry minimal requis par le compte de service. Par exemple, attribuez le lecteur Artifact Registry à un compte de service qui télécharge les artefacts uniquement.
  • Si les groupes de votre organisation nécessitent différents niveaux d'accès à des dépôts spécifiques, accordez l'accès au niveau du dépôt plutôt qu'au niveau du projet.
  • Suivez les bonnes pratiques de gestion des identifiants.

S'authentifier à l'aide d'un assistant d'identification

Artifact Registry fournit un wagon Maven et un plug-in Gradle comme assistants d'identification. Lorsque vous utilisez l'assistant d'identification, vos identifiants ne sont pas stockés dans votre projet Java. À la place, Artifact Registry recherche les identifiants dans l'ordre suivant:

  1. Identifiants par défaut de l'application (ADC), stratégie qui recherche les identifiants dans l'ordre suivant :

    1. Identifiants définis dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS.

    2. Identifiants fournis par le compte de service par défaut pour Compute Engine, Google Kubernetes Engine, Cloud Run, App Engine ou les fonctions Cloud Run.

  2. Identifiants fournis par la Google Cloud CLI, y compris les identifiants utilisateur de la commande gcloud auth application-default login.

La variable GOOGLE_APPLICATION_CREDENTIALS rend le compte d'authentification explicite, ce qui facilite le dépannage. Si vous n'utilisez pas la variable, vérifiez que tous les comptes que l'ADC peut utiliser disposent des autorisations requises. Par exemple, le compte de service par défaut des VM Compute Engine, des nœuds Google Kubernetes Engine et des révisions Cloud Run dispose d'un accès en lecture seule aux dépôts. Si vous souhaitez importer des données à partir de ces environnements à l'aide du compte de service par défaut, vous devez modifier les autorisations.

Configurer un compte de service pour un assistant d'identifiants

Pour créer un compte de service et configurer l'authentification à l'aide de la variable d'environnement :

  1. Créez un compte de service pour agir au nom de votre application ou sélectionnez un compte de service existant que vous utilisez pour l'automatisation.

    Vous aurez besoin de l'emplacement du fichier de clé de compte de service pour configurer l'authentification avec Artifact Registry. Pour les comptes existants, vous pouvez afficher les clés et en créer sur la page "Comptes de service".

    Accéder à la page "Comptes de service"

  2. Accordez le rôle Artifact Registry spécifique au compte de service afin de fournir l'accès au dépôt.

  3. Attribuez l'emplacement du fichier de clé du compte de service à la variable GOOGLE_APPLICATION_CREDENTIALS afin que l'assistant d'identification Artifact Registry puisse obtenir votre clé lors de la connexion aux dépôts.

    export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
    

    KEY-FILE est le chemin d'accès au fichier de clé du compte de service.

Configurer Maven

  1. Configurez Maven pour le type de dépôt que vous utilisez.

    Standard

    1. Exécutez la commande suivante pour imprimer la configuration de dépôt à ajouter à votre projet Java.

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

      • PROJECT est l'ID de projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
      • REPOSITORY est l'ID du dépôt. Si vous avez configuré un dépôt Artifact Registry par défaut, il est utilisé lorsque cette option est omise dans la commande.
      • LOCATION est l'emplacement régional ou multirégional du dépôt.
    2. Ajoutez les paramètres renvoyés aux sections appropriées dans le fichier pom.xml pour votre projet Maven. Reportez-vous à la documentation de référence POM de Maven pour en savoir plus sur la structure du fichier.

      L'exemple suivant présente les paramètres d'un dépôt qui stocke à la fois des versions d'instantané et de version.

      <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.4</version>
          </extension>
        </extensions>
      </build>
      

      Les éléments <release> et <snapshot> indiquent si le dépôt stocke des packages de version, des packages d'instantané ou les deux. Ces paramètres doivent correspondre à la règle de version du dépôt.

      L'élément <build> définit le wagon Artifact Registry en tant qu'extension. Pour en savoir plus sur le wagon, consultez la documentation des outils Maven Artifact Registry.

    À distance ou virtuel

    Modifiez le fichier pom.xml de votre projet. Reportez-vous à la documentation de référence POM de Maven pour en savoir plus sur la structure du fichier.

    L'exemple suivant présente les paramètres d'un dépôt distant qui stocke à la fois des versions d'instantané et de version. Dans cet exemple, le projet dépend d'une version du package 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.4</version>
          </extension>
        </extensions>
      </build>
    </project>
    
    • La section <repositories> définit le dépôt Artifact Registry. Pour un dépôt distant, l'élément <id> doit être défini sur central. Ce paramètre remplace la valeur par défaut de l'ID de dépôt central hérité du Super POM.

    • La section <build> définit le wagon Artifact Registry en tant qu'extension. Pour plus d'informations sur le wagon, consultez la documentation relative aux outils Maven Artifact Registry.

    • Dans cet exemple, la section <dependencies> définit une dépendance sur la version 28.0-jre du package Guava.

  2. Maven résout certaines dépendances avant d'appliquer un wagon défini dans pom.xml, y compris les suivantes:

    • Références dans un projet Maven enfant à un projet parent à l'aide de l'élément <parent>.
    • Dépendances de plug-in stockées dans Artifact Registry

    Si votre projet doit résoudre ces dépendances, vous devez utiliser le mécanisme d'extensions principales pour vous assurer que Maven peut localiser les fichiers POM et les plug-ins parents.

    Dans votre projet, créez le fichier ${maven.projectBasedir}/.mvn/extensions.xml avec le contenu suivant. L'élément <extension> définit le wagon.

    <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.4</version>
      </extension>
    </extensions>
    

    Maven peut désormais résoudre les dépendances parentes ou de plug-in à partir d'Artifact Registry.

La configuration de l'authentification est terminée.

Configurer Gradle

  1. Configurez Gradle pour le type de dépôt que vous utilisez.

    Standard

    1. Exécutez la commande suivante pour imprimer la configuration de dépôt à ajouter à votre projet Java.

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

      • PROJECT est l'ID de projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
      • REPOSITORY est l'ID du dépôt. Si vous avez configuré un dépôt Artifact Registry par défaut, il est utilisé lorsque cette option est omise dans la commande.
      • LOCATION est l'emplacement régional ou multirégional du dépôt.
    2. Ajoutez les paramètres du dépôt à votre fichier build.gradle. L'exemple suivant montre l'emplacement relatif des sections imprimées.

      plugins {
        id "maven-publish"
        id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.4"
      }
      
      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"
        }
      }
      
      • La section plugins déclare le plug-in Artifact Registry. Pour plus d'informations sur le plug-in, consultez la documentation relative aux outils Maven Artifact Registry.

      • La section publishing définit les fichiers à importer et le dépôt Artifact Registry cible. Vous pouvez mettre à jour la liste des fichiers dans la section publications lorsque vous êtes prêt pour l'importation. Pour en savoir plus sur les paramètres de publication, consultez la documentation du plug-in de publication Maven.

    À distance ou virtuel

    Ajoutez les paramètres du dépôt à votre fichier build.gradle.

    L'exemple suivant montre les paramètres d'un dépôt distant. Dans cet exemple, le projet dépend d'une version du package Guava.

    plugins {
      id 'java'
      id "maven-publish"
      id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.4"
      id 'maven'
    }
    
    repositories {
      maven {
        url "artifactregistry://LOCATION-maven.pkg.dev /PROJECT_ID/REMOTE-REPOSITORY-NAME"
      }
    }
    dependencies {
      compile "com.google.guava:guava:31.1-jre"
    }
    
    • La section plugins déclare le plug-in Artifact Registry. Pour plus d'informations sur le plug-in, consultez la documentation relative aux outils Maven Artifact Registry.

    • La section repositories définit le dépôt Artifact Registry.

    • Dans cet exemple, la section dependencies définit une dépendance sur la version 31.1-jre du package Guava.

    Définissez vos dépendances pour votre package dans la section dependencies.

  2. Si vous devez utiliser des dépôts dans votre fichier init.gradle ou settings.gradle, vous pouvez ajouter la configuration du plug-in à ces fichiers.

    Pour init.gradle, ajoutez la configuration suivante :

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

    Pour settings.gradle, ajoutez la configuration suivante :

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

La configuration de l'authentification est terminée.

Configurer l'authentification par mot de passe

Utilisez cette approche lorsque votre application Java nécessite une authentification avec un nom d'utilisateur et un mot de passe donnés.

Configurer un compte de service pour l'authentification par mot de passe

Pour créer un compte de service :

  1. Créez un compte de service pour agir au nom de votre application ou sélectionnez un compte de service existant que vous utilisez pour l'automatisation.

    Vous aurez besoin de l'emplacement du fichier de clé de compte de service pour configurer l'authentification avec Artifact Registry. Pour les comptes existants, vous pouvez afficher les clés et en créer sur la page "Comptes de service".

    Accéder à la page "Comptes de service"

  2. Si vous souhaitez activer le compte de service dans la session de la CLI gcloud actuelle, exécutez la commande suivante:

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

    • ACCOUNT est l'utilisateur ou le compte de service.
    • KEY-FILE est le chemin d'accès au fichier de clé JSON du compte de service.

Configurer Maven

  1. Configurez Maven pour le type de dépôt que vous utilisez.

    Standard

    1. Exécutez la commande suivante pour imprimer la configuration de dépôt à ajouter à votre projet Java.

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

      • PROJECT est l'ID de projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
      • REPOSITORY est l'ID du dépôt. Si vous avez configuré un dépôt Artifact Registry par défaut, il est utilisé lorsque cette option est omise dans la commande.
      • LOCATION est l'emplacement régional ou multirégional du dépôt.
      • KEY-FILE est le chemin d'accès au fichier de clé JSON du compte de service.

    La commande renvoie les paramètres à inclure dans votre projet Java, y compris une version encodée en base64 de votre clé privée.

    1. Ajoutez les paramètres de dépôt renvoyés dans l'élément <project> aux sections appropriées du fichier pom.xml pour votre projet Maven. Reportez-vous à la documentation de référence POM de Maven pour en savoir plus sur la structure du fichier.
    <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>
    

    Les éléments <release> et <snapshot> indiquent si le dépôt stocke des packages de version, des packages d'instantané ou les deux. Ces paramètres doivent correspondre à la règle de version du dépôt.

    1. Ajoutez les paramètres d'authentification renvoyés dans l'élément <settings> à la section <servers> du fichier ~/.m2/settings.xml. Dans l'exemple suivant, KEY est la clé encodée en base64 de votre fichier de clé.

    Pour en savoir plus, consultez la documentation de référence sur les paramètres Maven.

    <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>
    

    À distance ou virtuel

    1. Ajoutez les paramètres du dépôt aux sections appropriées du fichier pom.xml pour votre projet Maven. Reportez-vous à la documentation de référence POM de Maven pour en savoir plus sur la structure du fichier.

      <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>
      

    La section <repositories> définit le dépôt Artifact Registry. Pour un dépôt distant, l'élément <id> doit être défini sur central. Ce paramètre remplace la valeur par défaut de l'ID de dépôt central hérité du Super POM.

    1. Encodez votre fichier de clé en base64 à l'aide de la commande suivante. Remplacez KEY-FILE par le nom de votre fichier de clé.

      base64 -w 0 KEY-FILE
      
    2. Ajoutez les paramètres d'authentification dans l'élément <settings> à la section <servers> du fichier ~/.m2/settings.xml.

    Pour en savoir plus, consultez la documentation de référence sur les paramètres Maven.

    <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>
    

La configuration de l'authentification est terminée.

Configurer Gradle

  1. Configurez Gradle pour le type de dépôt que vous utilisez.

    Standard

    1. Exécutez la commande suivante pour imprimer la configuration de dépôt à ajouter à votre projet Java.

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

      • PROJECT est l'ID de projet.
      • REPOSITORY est l'ID ou l'identifiant complet du dépôt. Si vous avez configuré un dépôt Artifact Registry par défaut, il est utilisé lorsque cette option est omise dans la commande.
      • KEY-FILE est le chemin d'accès au fichier de clé JSON du compte de service. Si vous avez exécuté la commande pour activer le compte de service, vous pouvez omettre cette option.

      La commande renvoie les paramètres à inclure dans votre projet Java, y compris une version encodée en base64 de votre clé privée.

    2. La ligne suivante de la configuration renvoyée définit une variable nommée artifactRegistryMavenSecret pour votre clé de compte de service. Ajoutez cette ligne à votre fichier ~/.gradle/gradle.properties afin que la clé ne soit pas visible dans vos builds ou dans votre dépôt de gestion de code source.

      artifactRegistryMavenSecret = KEY
      

      Dans cette ligne, KEY est la clé privée dans le fichier de clé de votre compte de service. Pour _json_key_base64, artifactRegistryMavenSecret est défini sur la clé encodée en base64 comme mot de passe.

    3. Dans build.gradle, spécifiez les paramètres du dépôt :

      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)
          }
        }
      }
      
      • La section repositories définit l'URL du dépôt et les identifiants pour l'authentification.
      • La section publishing définit les fichiers à importer et le dépôt Artifact Registry cible. Vous pouvez mettre à jour la liste des fichiers dans la section publications lorsque vous êtes prêt pour l'importation. Pour en savoir plus sur les paramètres de publication, consultez la documentation du plug-in de publication Maven.

    À distance ou virtuel

    1. Encodez votre fichier de clé en base64 à l'aide de la commande suivante. Remplacez KEY-FILE par le nom de votre fichier de clé.

      base64 -w 0 KEY-FILE
      
    2. Dans le fichier ~/.gradle/gradle.properties, ajoutez la ligne suivante afin que votre clé ne soit pas visible dans vos builds ni dans votre dépôt de gestion de code source.

      artifactRegistryMavenSecret = KEY
      

      Dans cette ligne, KEY correspond au contenu de votre fichier de clé encodé en base64.

    3. Ajoutez les paramètres du dépôt à votre fichier build.gradle.

    L'exemple suivant montre la configuration d'un dépôt distant.

    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"
      }
    
    • La section repositories définit le dépôt Artifact Registry.

    • Dans cet exemple, la section dependencies définit une dépendance sur la version 31.1-jre du package Guava.

    Définissez vos dépendances pour votre package dans la section dependencies.

La configuration de l'authentification est terminée.

Étape suivante