L'incrémentation de Projet Maven Version avec Jenkins/Git

Je suis en utilisant Jenkins, Maven pour construire des projets Java et de les déployer sur un Nexus référentiel. J'ai aussi l'utilisation de Git, même si je suis plus habitué à la Subversion donc mon Git connaissance est limitée.

J'aimerais Jenkins/Maven:

  1. Fonctionnalité de fusion de la branche en direction de l'intégration
  2. Construire fusionné code, exécuter des tests unitaires
  3. Si ils passent, par incrément de Maven numéro de version
  4. Pousser code fusionnées à l'origine de la direction de l'intégration
  5. Déployer artefact Nexus référentiel

Je rassemble le Git fusion peut être réalisée ainsi: http://twasink.net/2011/09/20/git-feature-branches-and-jenkins-or-how-i-learned-to-stop-worrying-about-broken-builds/

J'ai aussi beaucoup lu sur le maven-release-plugin.

Je ne suis pas sûr de savoir comment exactement pour atteindre les résultats ci-dessus. Si j'ai coder en dur SCM de détails dans chaque POM du projet, alors pourquoi ne pas la maven-release-plugin agir uniquement sur que référentiel plutôt que Jenkins local?

Si j'utilise une solution d'avoir Jenkins passer une variable d'environnement à Maven pour spécifier le numéro de version, alors je vais attendre d'avoir la version locale de résolution de problèmes dans mon IDE.

  • Voir maven version du plugin mvn versions:use-next-releases ou mvn versions:set -DnewVersion=x.y.z
  • Salut, j'ai essayé mvn versions:set-DnewVersion=x.y.z, mais lorsque l'artefact qui est déployé pour Nexus semble encore avoir l'ancienne version numéro de série, même si je peux voir dans les journaux que la variable a été transmis par le biais de Maven.
  • Vous avez le droit, parce que vous poussez les sources d'origine (avant la compilation). Vous devez pousser les sources de jenkins de l'espace de travail ...