66

I'm starting a small open source project, myself being the sole contributor for the time. Still, I think a continuous integration setup would be useful to detect whether I broke the build.

Is there a free, hosted continuous integration server that is suitable for very small projects? Googling turned up CodeBetter, but I'm not sure they'll accept a one-man project that is just starting up.

I prefer TeamCity, but I'm open to suggestions.

Note - a hosted solution is a must for me. I don't want to setup and maintain a continuous integration server, so answers like "TeamCity" or "CruiseControl" are simply irrelevant.

Specific requirements:

  • I am hosting my project at GitHub, so the continuous integration server needs Git integration
  • I would like the continuous integration server to run .NET integration (unit) tests
  • Nice to have - I also need access to a MySQL server (although I could modify the tests to use embedded SQLite, they currently run against an external MySQL server).
ripper234
  • 222,824
  • 274
  • 634
  • 905
  • Thanks for the lead, though I'm not sure it's a dup. Anyway I added some specific requirements that I'm looking for. – ripper234 Jan 02 '10 at 10:46
  • With the added requirements, it's not a dupe indeed. – Pascal Thivent Jan 02 '10 at 11:54
  • Nice question. Sounds quite tough (or at least potentially pricy) given that you (almost certainly) need something that runs on Windows. I don't know enough about what your needs are to run .NET unit tests, but it would be cool to see if this could all be run under Mono. – Christopher Orr Jan 02 '10 at 13:38
  • Surely it should be easy now in the age of the cloud, no? I would even pay a small cover sum. – ripper234 Jan 02 '10 at 13:56
  • Hudson has an EC2 plugin that can start remote a build server in the Amazon Web Services "cloud" and shut it down when complete. But that would require you have a local Hudson server running that would monitor your git repo and kick off remote builds. At that point, you may as well do it locally. In whatever manner you do it, using EC2 would cost you up to 12 US cents per build (an EC2 instance with Windows costs 12 cents per hour or part thereof). – Christopher Orr Jan 03 '10 at 18:37
  • 2
    Why insist on a hosted solution? Usually a build server would require as much maintenance as a hosted solution, as when placed in-house -- that is, when the build configuration changes or the build breaks. I'd be happy to even build on my dev laptop in the background. – amit kumar Jan 04 '10 at 05:19
  • The build configuration itself usually does't require much tweaking. In the simplest form, it can just get all the files from the repo, build the solution and run all tests from it. In TeamCity configuring a build is really painless. – ripper234 Jan 04 '10 at 09:52
  • I like the idea of free continous integration servers for open source projects. I think the major problem is the security of running foreign code on the server. Imagine on malicious unit test that crashes all the projects on the server. Virtual machines would help isolate instances of CI servers, but if they are windows boxes then there would be licensing issues / costs. – mcdon Mar 07 '10 at 10:30
  • You are unlikely to get a satisfactory answer because setting up a CI system is highly customized. Setting up Teamcity server itself is literally 15 minutes work. Setting up the agents with the required tools is the time consuming part, and must be tailored to your particular situation. That is why you are unlikely to find what you are looking for. – Phillip Ngan Sep 13 '11 at 01:49

10 Answers10

14

AppVeyor is well integrated with Github, free for open-source projects and really easy to set up.

Builds are configured using YAML or UI. Free accounts are limited to one build at a time. Deployment to NuGet is supported, as well as project and account feeds. It is deeply integrated with GitHub, for example allows creating releases. It supports build matrices, AssemblyInfo patching, rolling builds, build prioritization, status badges, build notifications etc.


Travis is well-known CI (and seems to be the most popular hosted CI by far), now it supports building C#, F# and VB projects too. The caveat is that it supports only Linux and Mono and it's in beta ("may be removed or altered at any time").


MyGet is a hosted package server, but now it supports Build Services too (currently preview) and other features. It's free for public feeds (500 MB max) and has slightly better features for approved open-source projects (bigger storage and gallery). Build service is optimized for packages: NuGet feed, MyGet feeds, SymbolSource integration etc.

Athari
  • 33,702
  • 16
  • 105
  • 146
Fernando Vezzali
  • 2,219
  • 1
  • 29
  • 32
10

This is now provided by Microsoft for free for teams of up to 5 people by Team Foundation Server.

It provides:

  • Source Control: TFS, Git
  • Agile Planning: Agile, Scrum, CMMI
  • Continuous Builds
  • Collaboration
  • Integration
  • Test Execution
  • Deployment

Visual Studio Team Services doesn't require hosting code on it, code can be pulled from GitHub or any Git repository.

If the project is small and doesn't have complex requirements to build, Hosted pool can be used to perform CI builds. There're several limitations: available software, one build at a time, time limit of one hour etc. If it isn't enough, you can add your own build agents by running a script on your machines.

GitHub support isn't full (pull requests aren't built, for example), but most functionality is supported. Shields.io doesn't support VSO yet, but a custom shield is available.

The primary drawback for open-source projects is that build logs, test results and other data won't be public. Only five users can be given access to the project on a free account. There's a suggestion on UserVoice to make public projects possible.

Esther Fan - MSFT
  • 8,276
  • 4
  • 27
  • 25
Dean Forbes
  • 1
  • 1
  • 3
4

I know the thread is quite old, but for the people still looking for the answer I recommend taking a look at AppHarbor

It is pretty easy to setup integration with Github and Bitbucket, and you have basic db connections for free through "addon" options.

Quite convenient for startups.

ni5ni6
  • 453
  • 6
  • 13
2

Also take a look at CodeHaus:

http://codehaus.org/

They use Atlassian's Bamboo CI software.

No opinion - as I've never used it.

tgiphil
  • 1,242
  • 10
  • 22
1

I don't think that you will easily find a real free (by this I mean for any project, any language) hosted CI service because such a service is very CPU, RAM, disk intensive which implies specific rules, hardware, pricing.

For some offers, have a look at Outsourcing Continuous Integration or this question here on SO. I didn't look at all solutions in detail so I don't know if they'll meet your requirements (language, tool and pricing).

Or try to join a forge providing Continuous Integration for open source projects like The Codehaus (EDIT: not an option for .NET projects AFAIK) or CodeBetter. This will certainly require some efforts to get your project accepted (few actually are IMHO) but this might be your best option.

Community
  • 1
  • 1
Pascal Thivent
  • 562,542
  • 136
  • 1,062
  • 1,124
0

I've just started using OnCheckin:

https://oncheckin.com/

They exclusively provide for .NET projects.

Paul
  • 3,072
  • 6
  • 37
  • 58
  • I'v checked this. It seems to provide free build + deploy for ASP.NET projects and costs $30 for build + unit tests + deploy. I still consider using a local TeamCity installation on my testing server. – Svetlin Nakov Nov 26 '13 at 11:11
  • At the time of writing this OnCheckin is free for one project, the $30/month plan is for [3 projects](https://oncheckin.com/pricing) – Doug Dec 18 '13 at 22:14
-1

Maybe the right answer is for someone to make a set of EC2 images available for this sort of thing, so users can either use Amazon, or build their own cloud on Eucalyptus inside the firewall if they're paranoid... but in either case, you save the time and cost of building those images.

Andrew McGregor
  • 31,730
  • 2
  • 29
  • 28
  • I think this could be interesting. I like Hudson and its EC2 plugin to launch builds, but that would require a master version of Hudson running on the developer's machine. Also, EC2 isn't free, which was a requirement. – Christopher Orr Jan 02 '10 at 13:40
  • Eucalyptus is free, up to hardware and OS licenses if you need Windows. – Andrew McGregor Jan 02 '10 at 23:38
  • I hadn't heard of Eucalyptus before, but as far as I can see (www.eucalyptus.com) you need to have your own hardware and OS and set up everything - so it's not hosted at all? – Christopher Orr Jan 03 '10 at 18:30
  • Ah, also I just re-read what you wrote and see that you meant it as an alternative as it's EC2-compatible. :) – Christopher Orr Jan 03 '10 at 18:31
-1

I know this is probably an old thread, but

Here's another option:

Checkout Jenkins.

It does supports Jenkins.NET which I'm using right now.

And here's another SO-RELATED-THREAD: TFS 2008/2010 vs Jenkins for Continuous Integration

Community
  • 1
  • 1
Roy Lee
  • 10,572
  • 13
  • 60
  • 84
-1

MikeCI is an affordable hosted CI service, from $10 per month you can have a cloud build set up in minutes. It currently supports Ruby, Maven and Ant. It has a Free 30 day trial so you can try it and see what it's like. I personally think it's great, plus I think they're looking to support .Net and Objective C!

here's their site http://www.mikeci.com

-2

There's RunCodeAt, which Pascal's comment pointed me to. It is super easy to integrate with github, which I happen to host my project on. I'll give it a try.

ripper234
  • 222,824
  • 274
  • 634
  • 905
  • I didn't mention it because I couldn't find if they support .NET projects (my understanding is that they started with Ruby and then included Java but I couldn't find anything about .NET). – Pascal Thivent Jan 02 '10 at 11:13
  • Yeah, they don't seem to support .Net to my understanding. – ripper234 Jan 02 '10 at 11:40