Tutoriel Maven N°15 : création de releases

////Tutoriel Maven N°15 : création de releases

Maîtrisez la création de releases maven. Comprenez le plugin release et en particulier les 2 goals : release:prepare et release:perform. Analysez la gestion des version des livrables et la synchronisation avec l’outil de gestion des sources.

Ce tutoriel est un extrait de séances pratiques de la formation MAVEN dispensée par Objis.

Les + objis

 70% de travaux pratiques

 Clé USB avec tous les outils utilisés + Corrigés TPs

 Bilan pédagogique individuel + conseils

 Nos tutoriaux pour vous initier

Liens utiles

 [Page officielle dépendances Maven->http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
]

Prérequis, outils et versions

 Tutoriel Maven N°1 : Installation Maven

Objectifs

 Comprendre la création de release avec Maven via plugin ‘release’

 Préparer la création de releases

 Créer un profil spécifique pour la release

Liens utiles

 + de 100 tutoriaux java/jee Objis

 Tutoriaux et formation MAVEN

Formation Git + Maven + Nexus + Jenkins + Sonar avec Objis

formation-integration-continue-usine-logicielle-objis-maillons

Programme

 Contexte

 Partie 1 : preparation subversion

 Partie 2 : préparer la release (release:prepare)

 Partie 3 : réaliser la release (release:perform)

Durée

 30min

Contexte

Vous souhaitez créer une release de votre projet Maven.

Maven considère que seuls les projets dont la version courante possède pas le mot ‘SNAPSHOT’ est candidat à une release.

Nous allons utiliser l’un après l’autre les commandes suivantes :

— mvn release:prepare

— mvn release:perform

Partie 1 : préparer Subversion

 Assurez-vous d’avoir créé un répertoire ‘tags’ qui permettra à Maven de créer Tags associés à version de la release

svn import tags –username objis –password objis svn://localhost/objis-repos/demomaven/tags -m « Tags initial »

scm-release-prepare-2

 

scm-release-prepare-2bis

Partie 2 : préparer la release

IMPORTANT : vous devez synchroniser le code en local avec le code sur le serveur :

C:formationmavendevMAVEN-SCMcheckoutmonapplimonappli-dao>mvn -e scm:checkin -Dusername=objis -Dpassword=java -Dmessa
ge= »MAJ »

La phase de ‘préparation’, réalisée via mvn release:prepare, est longue et complexe. Maven y réalise de nombreuses opérations dont :

 >check-poms : vérifie les POMs du projet pour voir si elles sont dans bon état pour release. Par exemple, erreur générée si la version du projet n’a pas de ‘SNAPSHOT’. En effet Maven va considérer que c’est déja une release.

 >scm-check-modifications : vérifie cohérence entre code local et code sur SCM , afin de ne pas faire de release inconsistente avec SCM

 >check-dependency-snapshots : vérifie qu’il n’ya aucune version de dépendance avec SNAPSHOT

 >create-backup-poms : crée un fichier de backup du POM (fichier sera supprimé suite à release:perform)

scm-release-prepare-1

 

scm-release-prepare-4

Notez la création des fichiers suivants :

— pom.xml.releaseBackup : un backup du pom.xml , ainsi que celle d

—  release.properties : propriétés de la release

scm-release-prepare-5

 Analysez également le contenu du répertoire tags sur svn :

scm-release-prepare-6

Partie 3 : lancer la release

Si la préparation s’est bien passée, alors lancez mvn release:perform

Cette phase est moins complexe que la précédente et consiste essentiellement en 3 opérations :

— > verify-completed-prepare-phase : valide que release:prepar s’est bien passé.

— > checkout-project-from-scm : récupération de la version taggée dans scm

— > run-perform-goals : déploie la release dans les releases du RepoManager

Conclusion

Dans ce tutoriel, vous avez découvert la création de releases avec Maven.

Formation Git + Maven + Nexus + Jenkins + Sonar avec Objis

formation-integration-continue-usine-logicielle-objis-maillons

2018-01-28T12:52:15+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java