I'm trying to determine the "right" way to use Maven in our continuous
integration environment. Here's our basic process:

 

1.      Code changes are made and checked in to SVN.
2.      Cruise Control detects the change and kicks off a build,
executing all the tests. This is a local build (maven clean install).
3.      Once a day, or on demand, CC kicks off a numbered build (maven
clean deploy). This numbered build is tested by QA.

 

So much for the good; now for the bad: We have opposing camps. One camp
uses the deploy plugin as illustrated above. The other camp, on a
separate project, is executing the above process except that instead of
using the deploy plugin, they are using the release plugin. As far as I
can see, the use of the release plugin in step 3 goes against its
intent. The release plugin is meant for a release to a customer, not for
something that happens frequently like a nightly build. Further, the use
of the release plugin in this manner restricts the use of cross-project
libraries to released versions, since the release plugin enforces that
the pom does not depend on any snapshots. 

 

I'd like to get the thoughts of the group on this. I may be missing
something but I'd far rather use the deploy plugin for nightly builds
and the release plugin for packaging the application for release to our
customers. Am I wrong?

 

Thanks,
Kevan.

 

 

 

Kevan Dunsmore

Senior Software Engineer

SABRIX Inc

t: 503.924.4908

f: 503.620.5756

 


This e-mail message, including any attachments, is for the sole use of the 
intended recipient(s) and may contain confidential and privileged information 
that is protected from disclosure. Any unauthorized review, use, disclosure or 
distribution is prohibited. If you are not the intended recipient, please 
contact the sender by reply e-mail and destroy all copies of the original 
message and any attachments.

Reply via email to