user3505687
user3505687

Reputation: 1

how to handle multiple releases in a one go using Maven/hudson

We have more than 250+ applications and most of the applications depends on the generic/common(around 30) components.

If there is any change in a common component then we have to release all/most of them components using Maven. This is very painful task.

Is there any way by which we can avoid this. Do we need to change the design of the application or does maven provides any solution for this or is there any solution in Hudson by which we can schedule a builds to do this.

Any inputs on this will be really helpful.

Upvotes: 0

Views: 49

Answers (1)

blackbuild
blackbuild

Reputation: 5174

You could take a look at the Cascade Release Plugin which might work with Jenkins as well.

However, you should thing about your workflow:

Does every application need to have the newest common components right now? Perhaps it is sufficient to include them in the next regular release?

That way, you turn the responsibilities around. So say your component DOES in indeed do a release. Next time when you applications build (in the regular Nightly build, using SNAPSHOTs), the build process notifies the responsible developer/releasemanager for the application that there is a new version of common.

The release manager can now decide whether the features/updates are necessary for his application. You could even let the nightly build automatically update the dependency to common (using versions-maven-plugin.

The point is: I would stronlgy advise against automatically updating and releasing the application because of common updates. This would create a strong coupling between both projects. Do the update automatically, if you want, but let the application developers/release managers decide when to release.

Of course, if the change in common is critical, they MIGHT need to release immediately.

Upvotes: 1

Related Questions