Sunday, March 7, 2010

Tools and Environments - SCM and CI

When I taught source control and continuous integration in 2007 (for the GS04 course at UCL) I used Subversion for the source control lab and build-o-matic for the continuous integration lab.

In the labs this year, I'll be using Mercurial instead of Subversion, and Hudson instead of build-o-matic.

What would you choose for teaching source control and continuous integration (and for bonus marks, why)?

Copyright © 2009 Ivan Moore


Unknown said...

Visual Source Safe and Control M ?

Ivan Sanchez said...

I'd go with Git and TeamCity.

Nat Pryce said...

I'd go with Git, TeamCity and IntelliJ because it shows what is achieved by the the tight integration of state-of-the-art tools. The TeamCity/IntelliJ integration especially is excellent.

Ivan Moore said...

(Comment from Mike Hogan, posted on his behalf by me):

For your audience, I would stick with subversion. I found that
subversion made it easy to explain source code control to a beginner
audience. Why? Because its file and directory based, and kinda does what
you would do yourself if you managing your versions by hand. I found this lack of magic made it easier to focus on communicating the
princplies of scc.

As regards CI tool, I looked at both TeamCity and Hudson, but chose the
former, purely because of Piazza :-) I wanted to make the point that a CI tool is useful only to the degree that build breakages are
communicated quickly and effectively to the team, and a big in-your-face
monitor that goes red is hard to beat. I'm sure its possible to do this with Hudson, but I didn't find an out-of-the-box way of doing it after spending all of 10 minutes looking, so I went with TC and Piazza.