Gérer les packages Java

Artifact Registry est compatible avec les packages Java que vous compilez avec Maven et Gradle.

Présentation

Pour vous familiariser avec les packages Java dans Artifact Registry, vous pouvez consulter le quickstart. Vous pouvez également regarder une vidéo de présentation.

Pour en savoir plus, consultez les informations suivantes :

  1. Créez un dépôt de packages Java pour vos packages.
  2. Découvrez comment créer des dépôts distants et virtuels.
  3. Découvrez comment utiliser les dépôts distants et virtuels dans cet exemple d'utilisation.
  4. Accordez des autorisations au compte qui se connecte au dépôt. Les comptes de service des intégrations courantes avec Artifact Registry disposent d'autorisations par défaut pour les dépôts d'un même projet.
  5. Configurez vos outils :
  6. Découvrir comment gérer les packages.

Versions d'instantané et versions Maven

Maven fait la distinction entre les versions instantanés et release de vos projets Maven.

Instantanés

Un instantané est une version préliminaire d'un projet Java. Le numéro de version d'un instantané inclut le suffixe -SNAPSHOT dans le modèle d'objet de votre projet (POM, Project Object Model). Par exemple, ce paramètre du fichier pom.xml concerne une version 1.0 du projet en cours de développement:

<version>1.0-SNAPSHOT</version>

Lorsque vous publiez un package à partir de ce projet, Maven 3 ajoute automatiquement un horodatage au numéro de version de l'instantané afin que chaque version d'instantané soit unique. Maven 2 accepte les versions d'instantanés non uniques afin d'écraser les instantanés existants dans un dépôt. Cette approche pose problème pour la reproductibilité des compilations, c'est pourquoi Maven 3 n'accepte plus les instantanés non uniques.

Les instantanés vous permettent de publier de manière itérative des versions mises à jour d'un package de version préliminaire sans incrémenter le numéro de version dans votre projet Maven à chaque fois que vous publiez dans le dépôt. Pendant le développement, d'autres projets avec des dépendances sur le package peuvent ensuite obtenir le dernier instantané de la version 1.0 à partir du dépôt.

Consultez la section Spécification de l'ordre des versions pour en savoir plus sur la syntaxe des numéros de version Maven et l'ordre de tri.

Versions

Lorsque vous êtes prêt à publier un package, supprimez le suffixe -SNAPSHOT du numéro de version figurant dans le fichier POM et mettez à jour tous les projets qui dépendent du package afin qu'ils utilisent la version finale plutôt que la version d'instantané.

Pour répertorier toutes les dépendances d'instantanés, vous pouvez filtrer l'arborescence des dépendances à l'aide de la commande suivante:

mvn dependency:tree -Dincludes=:::*-SNAPSHOT

Stratégie de version d'Artifact Registry

Lorsque vous créez un dépôt Maven dans Artifact Registry, vous pouvez spécifier une stratégie de version Maven:

  • Aucun : stocke à la fois les instantanés et les packages de version. Il s'agit du paramètre par défaut.
  • Instantané : stocke uniquement les packages d'instantanés.
  • Publication : magasin uniquement pour les packages.

Si vous choisissez la stratégie de version d'instantané, vous pouvez également spécifier si le dépôt autorise les versions d'instantanés non uniques qui écrasent les versions correspondantes dans le dépôt. Nous vous recommandons d'utiliser des versions uniques, car Maven 3 n'est pas compatible avec le modèle de version non unique.

Présentation de Google Video

Cette vidéo présente Artifact Registry et explique comment l'utiliser avec Cloud Build pour travailler avec les packages Java. Pour en savoir plus sur l'utilisation de Cloud Build avec Artifact Registry, consultez la section Intégrer à Cloud Build.