Technistas

Matthew D. Laudato writes about software and technology

Posts Tagged ‘SCM

Continuous Build Automation with Subversion and Meister

with one comment

I recently got a chance to work on a project using Collabnet Subversion and OpenMake Meister and put together a short demo on how to get the two tools to work together doing continuous integration. You can view it at http://www.openmakesoftware.com/flashdemo/Meister-SVN/omsvn_small/omsvn_small.html

Meister like most CI tools has several ways to kick off a CI build. You can do a scheduled build, or you can poll the SCM system. The third way of doing a CI build is to call the build from a Subversion hook. In the demo I show two of these methods: a scheduled build in Meister, and calling Meister from the Subversion post commit hook.

The setup is pretty simple. I have a repository in Subversion that has working copies for developers, and what I’ll call a ‘hands off’ working copy that only the build process uses (meaning, no developers are ever in that copy making changes. It receives changes strictly through a ‘svn update’ command run by the CI process). In Meister, I have a workflow that knows how to build a small DOS application from some code in the repository.

In the demo, I first show Meister running a build on a schedule. Meister updates the ‘hands off’ working copy and then compiles and links the code. In the second case, I turn off the scheduler, and instead activate the post commit hook in the Subversion repository. The hook code calls the Meister command line, which looks like this:

 

java -cp c:\openmake-meister\client\bin\omcmdline.jar com.openmake.cmdline.Main
-BUILD "WINDOWS BUILD WITH SVN"

 

The same workflow runs in both cases. The advantage of running from the hook is that you are always guaranteed that every transaction in Subversion gets built. On the other hand, setting a scheduler to run every hour is easy and might be more appropriate for shops with less frequent code changes. In both cases Meister is driving the build with its dependency analysis engine, so the builds are fast and highly parallelized.

Overall it was pretty easy both to get the Subversion repository configured, and to get the Meister workflow up and running. The Meister command line lets you do things like set environment variables (not shown above), so you can control the workflow at a fine level of detail.

Happy Building!
– Matt

Advertisement

Written by Matthew D. Laudato

January 22, 2010 at 7:59 pm

Whither branches?

leave a comment »

Here’s a link to a post I wrote on blog.accurev.com that addresses some of the problems that development teams have with branches, and why I think AccuRev streams are a superior method of managing code configurations.

Written by Matthew D. Laudato

December 14, 2008 at 3:59 pm

Posted in software development

Tagged with , , ,

Why branch when you can stream?

leave a comment »

This is a little phrase that I’ve coined that sums up why I think the namesake product of the company I work for (AccuRev) is the Next Big Thing in software development tools and SCM. Here’s a post about how the development and release process can be simplified by using AccuRev streams instead of traditional branches.

Written by Matthew D. Laudato

September 25, 2008 at 7:36 pm

Build Management with AccuRev and Maven

with one comment

This is a cross post of a blog I did for the company I work for, AccuRev, Inc. In it I describe how to use the recently released m2eclipse Maven integration with the AccuRev software configuration management (SCM) product. Maven is a very cool build and project management tool, and the combination of working with Maven via m2eclipse and Accuev via the AccuBridge for Eclipse plugin is pretty powerful. If you are interested, please click here to view the original post.

Written by Matthew D. Laudato

June 25, 2008 at 6:43 pm

Getting your software tools ready for agile

leave a comment »

Just to kick-start this site, here is a link to a post I did for the company I work for, AccuRev, Inc. It is a summary of a webinar that I participated in recently as a panelist about proper tooling for Agile Software Development. The webinar covered how to evaluate your development toolset, particularly SCM (software configuration management), to get ready for agile. (I’m the Technical Marketing Manager at AccuRev. Opinions expressed herein are my own, etc.)