Continuous Integration for a small .NET open source project [closed]

Solution 1:

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.

Solution 2:

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.

Solution 3:

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.

Solution 4:

Also take a look at CodeHaus:

http://codehaus.org/

They use Atlassian's Bamboo CI software.

No opinion - as I've never used it.

Solution 5:

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.