I'm trying to automate the build process for engineering group. As part of that automation, I'm trying to get to a point where the act of applying a specific tag that adheres to a pattern will kick off an automated process that will do the following:
- Check out source code
- Create a build script from a template
- Build the project
I'm pretty certain I could do this with a post-hook in subversion, but I'm trying to figure out a way to do this with something other than a subversion hook.
- Would it make sense to monitor the tags directory in the subversion repository to kick off my workflow?
- Are there any decent tools that help with this (.NET would be great if possible).
- Am I better off just writing an engine to do this?
My preferences:
- Existing product that does all or part of this
- If development work needs to occur, .NET is preferable
- Works with Windows (we've got a Linux based repo, but builds all occur on windows)
I like hudson - EASY to set up and works out of the box with SVN.
You can configure it to build on every commit.
I downloaded it and got started building with it within a day. It has gone through a lot of tweaks, but I would recommend it to anyone.
I have also used cruise control but am not as happy with that. I don't have any specific reasons other than cross-platform issue.
EDIT
I recently added a job on my hudson build server that listens for a google/gmail jabber chat. I can "promote" a "regular" build to a release build with this mechanism. I just set up a new job that does the steps necessary to promote/publish a private build into a release candidate.