Hosted continuous integration - delivering "Infrastructure++"
By Mike Jackson.
At the Digital Social Research workshop, we asked researchers about what would help them to produce good code. One suggestion was that while repositories, such as SourceForge, GitHub, GoogleCode and Launchpad, offer a rich infrastructure, they lack support for automated build-and-test or continuous integration. As one attendee put it, they wanted "SourceForge++".
Using a continuous integration server that is hosted by a third-party is more convenient than acquiring a server and setting up the software yourself (it can be cheaper too). This convenience should encourage more people to systematically test their software, and that's something that we're in favour of, because well tested software is more sustainable software.
A web search reveals that there are a number of providers that, thanks to the capabilities of cloud computing, now offer continuous integration services for projects. To help you choose a provide, I've listed the main details of the providers below.
|Name||Source code repositories||Languages||Build tools||Databases||Operating system||Hardware||Continuous integration||Cost|
|BuildHive (part of CloudBees DEV@Cloud platform-as-a-service environment)||GitHub||Java||Maven, Gradle, ANT||Fedora 13 (i686)||Amazon EC2 m1.small and m1.large||Jenkins||Free to GitHub-hosted open source projects. Various pricing plans are available e.g. FOSS for free open source software.|
|Shining Panda||Git, Mercurial, CVS, Subversion, Bazaar||Java, Python, C++||Maven, ANT||MySQL, PostgreSQL, MongoDB||Linux, Windows||VM - Intel Xeon core, 2GB RAM, 5GB hard disk||Jenkins||Free open source software projects can get access on a first-come-first-served basis. Other pricing plans are available.|
|tddium||Git||Ruby (Python, PHP coming soon)||MySQL, PostgreSQL, SQLite, MongoDB, Redis, Riak, Sphinx||Ubuntu 11||32 or 64-bit x86 Linux VM||Custom||Pricing from $15/month.|
|CodeBetter CI||Git, Subversion||Maven, MSBuild||TeamCity||Free for open source projects (TeamCity funds it)|
|AppHarbor||Git/GitHub, Mercurial, Subversion, BitBucket||ASP.NET applications||Shared or dedicated MySQL, SQL Server, MongoDB, depending on subscription.||Windows||Amazon EC2||Custom. Also deploys applications for users on their servers.||Pricing from $0/month for a single worker.|
|CloudForge||Subversion, Git||Any||Any||Any||Custom||Free for a single user. Pricing from $3.5/month otherwise.|
|Semaphore||GitHub||Ruby 1.9||MySQL, PostgreSQL, SQLite, Redis, MongoDB||Custom||Pricing from $14/month for a single project (public or private)|
|TestPilot (beta and most web pages show "we're still writing this page")||GitHub||Ruby||Custom||Free for open source projects.|
|hostedci (beta)||iOS, Mac||Jenkins||20 hours/month build free for open source projects. Other pricing plans available.|
|continuous.io (seems to be an alpha which has stalled, last update was 07/10/11)||GitHub||Amazon EC2 micro||Custom||Free for open source projects (you need to use your own EC2 VMs). Other pricing plans are available.|
|Fazend.com (may have stalled, last update was 30/08/11)||Subversion (theirs or 3rd party), Git, Mercurial||Java, Python, C++, PHP, Ruby, Perl||Maven, ANT, Make||MySQL, SQLite||Linux||Hudson||Free. E-mail for requirements review.|
Please remember that when choosing to rely on a third-party to host a continuous integration server, the reliability, longevity, cost, usability and sustainability of the provider's service should be considered. Our advice on choosing a repository for your software project is also relevant to choosing a continuous integration server.
Posted by MikeJackson on Thursday 9 August 2012.