Continuous integration is a must practice in any software development team. It allows you to receive feedback instantly about the state of your project. In this post I’m going to share the available options to implement continuous integration for your .Net projects.
Jenkins is an open source tool written in Java. It has a nice UI to help you setup your project. The Jenkins community has also created many plugins to integrate with your favorite tools. It is easy to setup and configure. If you are not using a continuous integration server, I highly recommend Jenkins.
CruiseControl.NET is also an open source tool initially created by ThoughtWorks. Just like Jenkins, it has plugins available to integrate with bug management tools, source control, reporting, and others. The initial setup is easy but creating projects is more complicated since there is no UI available. You have to edit an XML configuration file.
AppVeyor is the new kid on the block. It’s a cloud based solution that relies on Azure for its infrastructure. In addition to continuous integration, it also offers continuous deployment. Scott Hanselman wrote a blog post about AppVeyor.
It is free for open source projects. For private projects, price start at $19 per month for 1 project and 1 concurrent job.
If you have used Jira, HipChat, Confluence before, you will feel at home with Bamboo. It is more that a continuous integration since it allows you to do continuous deployment. It also integrates with Jira, and Bitbucket for a smooth workflow.
Visual Studio Build
If you are invested in Team Foundation Server for your source code management, you can take advantage of the Build feature. The same Build feature is also available online with their cloud product called Visual Studio Online.
I have listed about these CI tools briefly but encourage you to play with them and see what works best for you. Let me know if you use a tool not listed here.