Maven: change les propriétés de la version dans pom.xml
J'ai un Maven pom.xml je créer un projet et de projet de publication déployer avec Jenkins.
Mais avant et après la construction "version" nous avons besoin de définir ma version en
Par exemple:
J'ai en pom.xml
<properties>
<version-own>0.0.21-SNAPSHOT</version-own>
</properties>
avant la libération, j'ai besoin de le configurer comme ceci
<properties>
<version-own>0.0.25</version-own>
</properties>
après la libération, j'ai besoin de le configurer comme ceci
<properties>
<version-own>0.0.27-SNAPSHOT</version-own>
</properties>
Comment cela peut-il être fait?
source d'informationauteur user2004266
Vous devez vous connecter pour publier un commentaire.
Si vous n'avez pas à utiliser votre propre version de propriété, considérez les points suivants, qui fonctionneront sur votre
<project><version>0.0.21-SNAPSHOT</version></project>
élément:Qui va modifier votre pom et ajuster la version de votre goût. Vous aurez probablement envie de commettre ce changement à votre code source du référentiel de contrôle, pour cela, le scm plugin scm:checkin objectif fonctionne très bien (en supposant que vous voulez que ce soit automatisé):
Alors vous pouvez faire votre communiqué de presse (je recommande le maven-release-plugin), après quoi vous pouvez configurer votre nouvelle version et de s'engager comme ci-dessus.
La les versions du plugin est votre ami. Script ci-dessus serait susceptible d'impliquer certains paramétrées construire, ou de préférence le groovy plugin jenkins pour ce qui vous permet d'obtenir le maven build spécifique variables.
Pour commencer, vous pouvez le faire à la main. Si votre construction suit les conventions de maven eh bien, vous pourriez probablement un effet de levier d'un couple de maven plugins qui existent pour aider à la gestion des numéros de version.
La maven-versions-plugin permet d'automatiser les modifications manuelles des numéros de version. Elle a beau commandes CLI pour aider à régler votre poms avant de faire des communiqués de presse.
Puis il y a la maven-release-plugin qui automatise l'ensemble du processus de coupe d'une libération. Il va changer votre capture d'écran d'une version, puis le rouler pour le prochain snapshot après la sortie de construire. Pendant tout ce processus, il s'engage discrètes versions des pdm à la source de contrôle.
Encore une fois, le secret de voir le succès dans les plus automatisé des bits de l'maven de la communauté est de savoir si votre construction est de faire des choses le maven ou non. Piraté, très tordu, non-conventionnel, s'appuie généralement beaucoup d'obstacles à l'utilisation réussie de la version plugin.
Il y a un moyen pour que facilement. Avec une seule commande, vous pouvez modifier n'importe quelle partie que vous voulez:
Pour couper et coller:
Pour plus de clarté:
Ceci est un bref exemple de la façon de mettre à jour les versions en une seule fois avec la construction de valeurs
Construire-helper plugin prend en charge la regex de la hanche, et peut même analyser les numéros de version si besoin.
http://www.mojohaus.org/build-helper-maven-plugin/
Il y a quelque chose comme
parsedVersion.nextIncrementalVersion
mvn build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion} versions:commit
En regardant ce commentaire vous décrivez-vous que vous utilisez cette version pour fournir une dépendance. maven-release-plugin devrait vous aider à gérer les versions pour vous. Afin de prévoir que le plugin dans votre pom.xml.
Et pour l'étape de fournir manuellement la version et de la version de développement, de créer un travail de jenkins, qui aura 2 paramètres de la chaîne:
developmentVersion
releaseVersion
Ajouter "Invoquer haut niveau Maven cibles" étape de génération d'exécuter la remise à l'eau (par exemple):
Lors de la construction de l'emploi, il vous invite à insérer le developmentVersion et releaseVersion.
Acclamations,
Despote