Sanjay, beside from CI as Thomas suggested. If your have a night build fail. You should increment the build number and tag it again for the next build.
However even with simple cron job to do scm:update and build every hour would reduce your chance of failed nightly build big time. It works great for me. -Dan On 8/18/05, Thomas Van de Velde <[EMAIL PROTECTED]> wrote: > Sanjay, > > You might want to look at continuous integration engines like CruiseControl, > Anthill or Luntbuild, which take care of the tagging and are ideal for > nightly builds. Maven would then just be used for build and packaging. CVS > operations are handled by the build server. However, for application > releases (meaning a software release to production), I would use Maven to > tag and assign a version number. These type of releases are not part of a > continuous build and are often refered to as "push-button" operations. > > Maven could go a bit further with the automation of releases. Right now a > lot of it still manual (e.g. assigning a version number, etc.). I've written > a plugin that automates all of that by automatically incrementing the last > digit of an application's version upon release. > > Cheers, > Thomas > > On 8/18/05, Sanjay Choudhary <[EMAIL PROTECTED]> wrote: > > > > We currently use Maven 1.0.2 only for building a J2EE application. > > *Developers > > aren't using it as yet.* :-( Our current process is described below. We > > run > > this process everynight to create EAR and deploy them in Sandbox. I will > > appreciate everyone's suggestions and comments to improve the process. > > 1. Bootstrap all projects from CVS. Get latest from head or branch. (We > > have maven.xml in the our bootstrap project that does check outs for all > > the > > projects from CVS). > > 2. Perform release - We use multiproject:goal with -Dgoal=performrelease. > > In this task we tag our code in CVS and update project.xml's with the new > > version. > > 3. Use maven and build EAR. > > 4. Deploy EAR in sandbox - This is done using Jackal scripts. > > we have a unix shell script that runs(from cron job) the above mentioned > > process. Value of CVS tag and version numbers are determined using perl > > and > > passed to maven. > > Issues with this process. > > ================== > > For some reason, if step 3 fails to build the EAR file. (For reasons like > > compilation errors etc) Getting build process back in line is lot of work. > > For example, if my last successfull build was 1.0.1 and now I am trying to > > build 1.0.2. > > 1. Bootstrap works ok > > 2. Prepare release will tag the cvs and update the project.xml for current > > version to be 1.0.2 > > 3. BUILD FAILS. > > Developer fixes the bug and now when we will try to do release > > 1. Bootstrap new code. > > 2. Attempt Prepare Release - it fails when it tries to find the depencies > > for version 1.0.2. > > Since this is a J2EE application, there are dependencies of EJB's , WAR > > project on Java projects.Also some Java projects are dependent on other > > java > > projects. > > I am not sure if we are following the right process to build. Our goal is > > to tag code in CVS and build everynight ( and may be multiple times in a > > day > > in future). Also if build fails, email out the notifications. > > I will appreciate any comments, suggestions and any experience. > > Thanks, > > Sanjay > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
