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 :
- Créez un dépôt de packages Java pour vos packages.
- Découvrez comment créer des dépôts distants et virtuels.
- Découvrez comment utiliser les dépôts distants et virtuels dans cet exemple d'utilisation.
- 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.
- Configurez vos outils :
- Configurez l'authentification pour Maven ou Gradle.
- Si vous souhaitez utiliser sbt comme outil de compilation pour Scala et Java au lieu d'utiliser Maven ou Gradle, un plug-in sbt créé par la communauté est disponible. Cette documentation ne décrit pas la configuration ni l'utilisation des clients Scala.
- Configurez Cloud Build pour importer et télécharger des packages.
- Découvrez comment déployer dans des environnements d'exécution Google Cloud.
- 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.