continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brett Porter <br...@apache.org>
Subject Re: Release Management for Maven/Continuum
Date Wed, 23 Aug 2006 14:02:10 GMT
Finally getting around to replying :)

I spoke to Edwin on IRC and he's proposed the following steps:
1) go to the project group...
2) then click on the release project icon ( a new icon )
3) then a page will prompt for the release version and the next dev  
version...
4) after filling the required parameters, click the prepare for  
release button...
5) the page after the procedure is either a progress or an auto- 
refreshing page, i'm still open )
6) when the release prepare is a success, then a button for the  
perform release is shown
7) otherwise, some kind of a build failure report will be shown
8) and repeat 6/7 during perform release

So this part is pretty straightforward. For 3) the webwork  
modeldriven action can be used against the modello model to easily  
produce a form page. For 5) the WW showcase has a "run in background,  
show page and refresh" example that could be used, though I consider  
that a nice to have.

There seems to be a pretty good base with the current model. I think  
the tasks that are needed in the release plugin:
- add any missing elements to the model
- change the release mojos to marshal arguments to this instead of  
the current configuration classes and pass that into the release process
- need to retain the ability to prompt for those not specified as  
happens now, so the prepare(Release) method will be new. Continuum  
will set the mojo into non-interactive mode to ensure this doesn't  
happen.

And in continuum its wiring up the steps as above. Edwin was going to  
make adjustments to the white site to be able to visualise this  
before diving in.

The tricky things that might need more discussion:
- how are multi-module projects handled in Continuum? I think for  
this incarnation we go with the simple solution which is to just  
trigger it on the project on its merits (so if its the parent, the  
whole lot is released)

- how is the project built? Is it queued into Continuum, or are the  
same tools used to run a separate build in the background?

- what files are modified? the current checkout in Continuum, or a  
clean one? If it is the current one, builds need to be locked out  
while the release process is in progress.

I think the short term solution is to go with a clean checkout and  
doing it all in the background, separate from the continuum build  
queue. This seems the easiest.

In the long term, has Continuum becomes more feature rich, I would  
rather see it is a queued build with certain settings enabled (clean  
checkout, clean repository) so that other features such as monitoring  
the scheduling could be reused.

Thoughts?

How could the work be partitioned up so that both interested people  
can work on it effectively?

Cheers,
- Brett

On 12/06/2006, at 1:46 PM, Jeremy Whitlock wrote:

> Continuum Dev,
>    I am currently working on a mechanism to have Maven's release  
> plugin to
> actuall use Continuum to perform the release process in a "Release
> Management" type of usage.  Jason Van Zyl and I have talked about  
> this for
> the last few days to flesh out the approach and here are the two  
> Jira that
> should get you up to speed with what I am doing:
>
> http://jira.codehaus.org/browse/CONTINUUM-727
> http://jira.codehaus.org/browse/MRELEASE-130
>
> Jason has given me some good tips and such and I plan on starting this
> tomorrow sometime.  If any of you have any concerns, complaints or
> suggestions, please let me know.
>
> Take care,
>
> Jeremy

Mime
View raw message