Subject: Grouper Developers Forum
- From: Rob Hebron <>
- Subject: [grouper-dev] VMs for testing and demo/tryout
- Date: Thu, 16 Dec 2010 14:26:24 +0000
An action on me from the last call was to look at this.
It seems to be fairly commonly done as part of a continuous integration (CI) build process. The idea is that a build/test cycle is farmed out to VMs for building and testing with results reported back to the CI server. There is no standardisation on what VM technology to use (although some CI servers have helper plugins written for some virtualisation platforms), it normally comes down to scripting a process to run through whatever interface is available. The main advantage is that you end up with a fully repeatable build/test process and can guarantee a clean system before each run.
I've set up my Huson CI server to run a build/test cycle for Grouper. It checks out the code from svn, builds it and runs the tests using gsh. Then it parses the output to report test failures. It would be easy enough to set it up to test multiple databases one after another. I've also tested starting a VM as part of the process and running the build/test cycle on this using a remote logon. It's turned out to be fairly straightforward. The trick seems to be to have a base image to clone when creating a new VM, and then install everything needed for the build/test onto it. At the moment I throw away the VM when I'm finished with it, but it would be very little work to clean it up a little and make it suitable as a demo/test platform.
So, to take it any further we'd need to think about whether we want to use a CI server for Grouper builds and testing, where it would be hosted, whether the relatively small amount additional effort that using VMs calls for is worth it, and if so what virtualisation technology we should target. I think a good approach would be to have as little dependence as possible on the virutalisation technology and use some like CF Engine or Puppet to configure the VM automatically rather than use a proprietary API. Once it's configured the CI server could connect up and do its stuff.
In summary, it's been pretty easy to set up on my own servers and could help in testing Grouper releases, as well as meaning we could end up with a VM. What do people think? It it worth going down this route?
- [grouper-dev] VMs for testing and demo/tryout, Rob Hebron, 12/16/2010
Archive powered by MHonArc 2.6.16.