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 guide de démarrage rapide.
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 ce exemple d'utilisation du dépôt.
- Accordez des autorisations au compte auquel se connectera au dépôt. Les comptes de service pour les intégrations courantes avec Artifact Registry disposent d'autorisations par défaut pour les dépôts du 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 Clients Scala...
- Configurez Cloud Build pour importer et télécharger des packages.
- Découvrez comment déployer des applications dans les environnements d'exécution Google Cloud.
- Découvrir comment gérer les packages.
Instantanés et versions Maven
Maven fait la distinction entre les versions snapshot et release de votre 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 votre modèle d'objet de projet (POM). Par exemple, ce paramètre du fichier pom.xml
est destiné à une version 1.0
d'un 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 code temporel au numéro de version de l'instantané afin que chaque version d'instantané soit unique. Maven 2 prend en charge les versions d'instantanés non uniques pour écraser les instantanés existants dans un dépôt. Cette approche pose problème pour la reproductibilité des builds. C'est pourquoi Maven 3 n'est plus compatible avec les instantanés non uniques.
Les instantanés vous permettent de publier de manière itérée des versions mises à jour d'un package en 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 alors obtenir le dernier
instantané de la version 1.0
du dépôt.
Pour en savoir plus sur la syntaxe et l'ordre de tri des numéros de version Maven, consultez la spécification de l'ordre des versions.
Versions
Lorsque vous êtes prêt à publier un package, vous devez supprimer le suffixe -SNAPSHOT
à partir du numéro de version indiqué dans le fichier POM et mettez à jour tous les projets qui dépendent
le package afin qu'ils utilisent
la version de publication au lieu de l'instantané
version.
Pour répertorier toutes les dépendances d'instantané, vous pouvez Filtrer l'arborescence des dépendances en exécutant 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 les packages d'instantané et de version. Il s'agit du paramètre par défaut.
- Instantané - Stocke uniquement les packages d'instantané.
- Release : les magasins ne publient que des packages.
Si vous choisissez la règle 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.