I think most of us in IT know or heard about Continuous Integration. We use it to develop GeneXus . I knew I was able to use it in a GeneXus development environment but did not try it yet. I did and it is great!
We have an internal application for tracking issues that we host in an internal GXserver. Anyone can change it (and be responsible for that) but I am “in charge” of keeping it up to date with the latest GeneXus versions we build. That is, every time a GeneXus build succeeds I try to build the application with it. I could not achieve that goal of course.
When we started developing the application I wrote a GeneXus MSbuild to automate all the tasks I needed to do. I have, however, to be aware of any new successful GeneXus build and have the time to run the MSBuild tasks. I ended up running them once a day or … as soon as I could.
With some start up from Gastón I started digging into Cruise Control. It is the web based tool we use for continuous integration with GeneXus. Not too easy to learn (I hate XML alike languages) but not too difficult either. A few edits to an XML based DSL and the results were owesome!
What did I get for about 4 hours of my time?
- Automation (i.e. do not have to remember running scripts)
- Early bug identification
- Web based administration of tasks (i.e. no more command lines)
Even if my scenario is not the most common one (you may not have to deal with frequent new GeneXus versions) I think that Continuous Integration and GeneXus Server are worth the effort. Give them a try.