Faire une release de mavenpom
Version 3 (Tony Chemit, 09/26/2009 01:42 am)
| 1 | 1 | Tony Chemit | h1. Faire une release de mavenpom |
|---|---|---|---|
| 2 | 1 | Tony Chemit | |
| 3 | 1 | Tony Chemit | h2. Pourquoi mavenpom ne peut pas être releasé comme les autres projets |
| 4 | 1 | Tony Chemit | |
| 5 | 1 | Tony Chemit | *mavenpom* ne peut pas être releasé comme les autres projets de *nuiton* et *chorem* pour des raisons d'héritage sur l'adresse du site à déployer. |
| 6 | 1 | Tony Chemit | |
| 7 | 2 | Tony Chemit | De plus, le site de *mavenpom* est multi-langue et on ne veut pas forcement que tous nos projets le soit. |
| 8 | 1 | Tony Chemit | |
| 9 | 3 | Tony Chemit | On a donc un profile réservé aux releases de mavenpom, il se nomme *internal* |
| 10 | 1 | Tony Chemit | |
| 11 | 1 | Tony Chemit | h2. Procédure de release |
| 12 | 1 | Tony Chemit | |
| 13 | 1 | Tony Chemit | <pre> |
| 14 | 1 | Tony Chemit | mvn release:prepare |
| 15 | 1 | Tony Chemit | </pre> |
| 16 | 1 | Tony Chemit | |
| 17 | 1 | Tony Chemit | puis |
| 18 | 1 | Tony Chemit | |
| 19 | 1 | Tony Chemit | <pre> |
| 20 | 1 | Tony Chemit | mvn release:perform -DreleaseProfiles=internal |
| 21 | 1 | Tony Chemit | </pre> |
| 22 | 2 | Tony Chemit | |
| 23 | 2 | Tony Chemit | h2. Finaliser la release avec maven-jredmine-plugin |
| 24 | 2 | Tony Chemit | |
| 25 | 2 | Tony Chemit | Enfin, on peut désormais interagir avec redmine pour finaliser la release, pour ce faire : |
| 26 | 2 | Tony Chemit | |
| 27 | 2 | Tony Chemit | <pre> |
| 28 | 2 | Tony Chemit | cd target/checkout |
| 29 | 2 | Tony Chemit | mvn validate -PperformRedmineRelease |
| 30 | 2 | Tony Chemit | </pre> |
| 31 | 2 | Tony Chemit | |
| 32 | 2 | Tony Chemit | Le profile va exécuter les tâches suivantes : |
| 33 | 2 | Tony Chemit | |
| 34 | 2 | Tony Chemit | * ferme la version sur redmine (en la créant si nécessaire) |
| 35 | 2 | Tony Chemit | * copie les fichiers de la release sur la version de redmine |
| 36 | 2 | Tony Chemit | * créée l'annonce de release sur redmine |
| 37 | 2 | Tony Chemit | * envoie le courriel de release sur la liste dev, lutins et mavenpom-users |
| 38 | 2 | Tony Chemit | |
| 39 | 2 | Tony Chemit | *Note:* Cette procédure peut s'appliquer sur tous les projets si tout est bien configuré :) |
| 40 | 2 | Tony Chemit | |
| 41 | 2 | Tony Chemit | On peut vérifier que la configuration est ok en faisant : |
| 42 | 2 | Tony Chemit | |
| 43 | 2 | Tony Chemit | <pre> |
| 44 | 2 | Tony Chemit | cd target/checkout |
| 45 | 3 | Tony Chemit | mvn validate -PperformRedmineRelease -DdryRun |
| 46 | 2 | Tony Chemit | </pre> |
| 47 | 2 | Tony Chemit | |
| 48 | 2 | Tony Chemit | h2. Préparation de la version suivante |
| 49 | 2 | Tony Chemit | |
| 50 | 2 | Tony Chemit | Il est possible de préparer la version suivante sur redmine via le goal *next-version* de *maven-jredmine-plugin*. |
| 51 | 2 | Tony Chemit | |
| 52 | 2 | Tony Chemit | A executer sur le trunk |
| 53 | 2 | Tony Chemit | <pre> |
| 54 | 2 | Tony Chemit | mvn redmine:next-version -Dredmine.previousVersion=XXX |
| 55 | 2 | Tony Chemit | </pre> |
| 56 | 2 | Tony Chemit | |
| 57 | 2 | Tony Chemit | La commande va créer la nouvelle version sur redmine et déplacer toutes les demandes non fermées ou résolues vers la nouvelle version. |