On 06/04/2011 8:04 PM, AnasMughal wrote:
We have a compliance/audit requirement that we need to be able to exactly
reproduce builds. (Current requirement does not allow the build machine
access to our internal nexus repository.)
All builds or just releases?
What stops you from doing that now? If you use releases properly in
Maven and in your SVN, you should be able to rebuild any release.
Everyone that has a system in production that is maintained has this
need. It is not just an idea imposed from outside.
If you can not rebuild every module that you have released into
production or out to a customer base, how do you know that you can fix
any bugs?
SVN has all the information required to find the source code and the
Maven POMs have all the information required to rebuild any release from
the sources with all of the correct third party software and correct
internally generated artifacts.
Building a snapshot takes more effort.
How often do you need to demonstrate a complete rebuild?
Is it worth automating?
How many projects make up the complete application?
Ours has over 70 and I am sure that I can rebuild all 70 for any release
but I have never thought of automating the process.
It would take a couple of hours to rebuild and I would have to set up a
new Nexus if I did not want to delete the existing releases from Nexus.
I do not backup my Nexus data so I have to be sure that I can rebuild
any release artifact from the sources.
I know that I can build something close to the snapshots that existed on
any given day using the history in SVN to identify the right sources.
It will be more work and some modules may be out of synch if the
developer did not check in every source that was deployed as a SNAPSHOT.
We do not require that in our workflow nor do I particularly care about
rebuilding SNAPSHOTS as they are transient by definition and are never
released into the wild.
Ron
We have a few projects with typical maven dependency hierarchy. Is there a
way that I could setup a build script that would fetch all dependencies from
SVN and then trigger a complete build.
Of course, we start the build process by deleting everything from the local
maven repository.
Then, we build going down the dependency hierarchy. As we build a parent, we
install it in the local maven repository on the build machine.
This does seem to be something that CruiseControl and Hudson do. Should I
consider just setting up CruiseControl or Hudson to perform the builds for
us? Or, is there a better way to setup this checkout and build process.
Any advice much appreciated.
--
Anas Mughal
--
View this message in context:
http://maven.40175.n5.nabble.com/Checkout-and-Build-all-dependencies-tp4287477p4287477.html
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]