Dans ce document, nous allons décrire comment faire des livraisons simples ( manuelles) sans passer par les cibles release de maven. Finalement, la méthode release de maven sera décrite.
Notations
<fudaa-crue> indique la racine des sources du projet Fudaa-Crue
Avant de faire une livraison manuelle
Incrémenter les numéros de version
Chaque fichier pom.xml du projet doit être modifier pour incrémenter la version. La balise <version> doit être modifiée
<groupId>org.fudaa.soft.fudaa-crue</groupId> <artifactId>fudaa-crue</artifactId> <version>X.XX</version>
Pour faire cela, l'action Edit>Replace in projects
peut être utilisées.
Une fois ce remplacement effectué, n'oubliez pas de commiter vos modifications.
Avant de continuer, lancer la commande mvn clean install pour vérifier que tous les tests passent
Taguer les sources
Pour cela il faut faire une copie de sources, via la commande Copy To...
Copier vers tags/soft/fudaa-crue-X.XX
avec X.XX représentant la version livrée
livraison manuelle: commande maven basique
Afin de générer les livrables la commande à lancer dans le répertoire <fudaa-crue> est la suivante
mvn -Prelease clean install
- L'activation du profil
release
permet de générer le livrable spécifique à OTFA ( zip) - pour rappel, le profil
noIntegrationTests
évite de lancer les tests d'intégration qui sont longs
Les tests d'intégration doivent être lancés avant tout release. Les tests sont lancées à chaque modification par le job https://fudaa.ci.cloudbees.com/job/Fudaa-Crue%20Integration/.
Serveur d'intégration continue
La livraison peut être effectuée via le job https://fudaa.ci.cloudbees.com/job/Fudaa-Crue%20Release/. Ce job lance uniquement la commande maven adéquate.
Après la livraison manuelle:Incrémenter de nouveau les numéros de version
Il faut maintenant passer à la version n+1 et incrémenter de nouveau les versions dans les fichiers pom.
Ou récupérer les livrables
Après la construction, les livrables sont disponibles sous les arborescences suivantes ( X.XX étant la version de Fudaa-Crue):
- <fudaa-devel>\ui-application\target\Fudaa-Crue-X.XX.zip contient l'application
- <fudaa-devel>crue-otfa\target\crue-otfa-X.XX-otfa.zip contient le livrable pour otfa batch
Livraison complète avec maven release
Cette commande est expliquée dans le document Utilisation de Maven et de Hudson et la paragraphe Release
Ces commandes sont assez complexes mais réalisent toutes les étapes de la livraison manuelle ( tag et incrément de versions). Attention, si un commande échoue il faut faire machine arrière ( voir les liens ci-dessus).
La commande à effectuer dans un premier temps serait :
mvn release:prepare -DdryRun=true
Il s'agit simplement de tester que tout se passera bien.
Les commandes à effectuer pour la livraison seraient:
mvn -Prelease,noIntegrationTests --batch-mode release:prepare mvn -Prelease,noIntegrationTests release:perform -Dgoals=deploy
Je pense que l'activation des profils release et noIntegrationTest sont inutiles dans la première commande
L'options batch-mode évite les questions "inutiles".