Skip to main content
Jump to: navigation, search

Difference between revisions of "Hudson-ci/Planning/Improved Maven Support"

(New page: == Overview == While the inital set of features in the new Maven3 integration was a big step forward, there are still some rough areas <br> == Maven Release Support == Currently do...)
 
 
Line 1: Line 1:
 +
{{hudson|pageTitle=Better Maven Integration}}
 +
 
== Overview  ==
 
== Overview  ==
  

Latest revision as of 16:03, 5 September 2011

Hudson Continuous Integration Server
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source
Hudson-bust.png Better Maven Integration











Overview

While the inital set of features in the new Maven3 integration was a big step forward, there are still some rough areas


Maven Release Support

Currently doing a maven release is quite a cumbersome setup. In order to make a release work in a maven + git setup have run into the following issues


  • Because of a bug in maven, the inner release step does not use the settings file provided to maven.
  • I have yet to find a way to configure the git plugin in such a way that the release plugin can push the changes back, I always end up in a "your not on a branch" or other git config errors when releasing
  • Since the relase step is not integrated with the SCM plugin I have to replicate such information, e.g. in git I need to set the slave's username and email


In order to make releasing work I have done

  • Install a second Maven 3.0.3 as maven provider for the M3 integration. This Maven 3 has a custom settings.xml built in.
  • Before running the actual release I have a shell script build step that does
    • Runs git config user.name
    • Runs git config user.email
    • runs git checkout master


Suggested solution:

  • Similar approach to what jenkins is doing [Artifactory Plugin - Release Management ]
  • It should be optional to build the snapshot version first
  • Only do the SCM changes once the release version has built correctly (to avoid manual clean up if it breaks)
  • Integrated with at least subversion and git

Back to the top