Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

<FudaaCrueDevel> indique la racine des fichiers du projet Fudaa-Crue

 

Compte Maven pour uploader les livrables

Pour uploader les livrables (jar) sur Artifactory, un compte est nécessaire. Pour configurer les paramètres de connexion de cet utilisateur, il faut modifier le fichier settings.xml et ajouter :

Code Block
xml
xml
<settings xmlns:profile="http://maven.apache.org/SETTINGS/1.0.0">
  <localRepository>C:\devel\.m2\repository\</localRepository>
  <servers>
    <server>
      <id>artifactory-fudaa</id>
      <username>maven</username>
      <password>ADemanderAEquipeFudaa</password> 
    </server>
    <server>
      <id>artifactory-fudaa-snapshot</id>
      <username>maven</username>
      <password>ADemanderAEquipeFudaa</password> 
    </server>
  </servers>
.... 

 

Livraison manuelle

Incrémenter les numéros de version

Chaque fichier pom.xml du projet doit être modifié pour incrémenter la version. La balise <version> doit être modifiée

Code Block
languagehtml/xml
  <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.

Note

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...

Image Added

Copier vers tags/soft/fudaa-crue-X.XX  avec X.XX représentant la version livrée

Image Added

Commande maven basique

 

 

 

Afin de générer les livrables la commande à lancer dans le répertoire <FudaaCrueDevel> est la suivante

Code Block
mvn -Prelease clean install

 

  • L'activation du profil release sur le projet Fudaa-Crue permet de générer :
    • le livrable spécifique à OTFA : crue-otfa-<VERSION>-otfa.zip, qui contient un fichier lisez-moi.txt décrivant l'utilisation d'otfa-batch,
    • le livrable général FudaaCrue : Fudaa-Crue-<VERSION>.zip
  • pour rappel, le profil noIntegrationTests évite de lancer les tests d'intégration qui sont longs

 

Note

Les tests d'intégration doivent être lancés avant toute release. Les tests sont lancés à 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.

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 :

Code Block
mvn release:prepare -DdryRun=true

Il s'agit simplement de tester que tout se passera bien.

Les commandes à effectuer pour la livraison seraient:

 

Code Block
mvn -Prelease,noIntegrationTests --batch-mode release:prepare -Dusername=IdentifiantSourceforge -Dpassword=PassordSourceforge

mvn -Prelease,noIntegrationTests release:perform -Dusername=IdentifiantSourceforge -Dpassword=PassordSourceforge
Note

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".

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):

  • <FudaaCrueDevel>\src\fudaa-crue\ui-application\target\Fudaa-Crue-X.XX.zip contient l'application
  • <FudaaCrueDevel>\src\fudaa-crue\crue-otfa\target\crue-otfa-X.XX-otfa.zip contient le livrable pour otfa batch

Ou déposer les livrables

Comme indiqué dans le PQL, les livrables doivent être déposés sur l'instance sharepoint dans le répertoire  Livraisons de sharepoint.