.net – How to setup build/deployment for .net project on Jenkins

Jenkinsmsbuildnet

We currently uses Jenkins for all our (Java) build/deployment from a Linux box. Now we are building a .net client and would like to have a similar automated build/deployment process.
I have some research and found the MSBuild plugin for Jenkins. There seems to be two ways to proceed:

  1. Install Wine or other VM for Windows on the linux box, then install .net framework so Jenkins can use it for MSBuild
  2. Setup a new instance of Jenkins on a Windows machine and have a separate build platform.

I am fairly new to the wonderful world of .net so there might be other alternatives that I am not aware of.

So, how do I setup uild/deployment for .net project on Jenkins?

Best Answer

I would recommend setting a separate slave on Windows, but run the master from the Linux box. This way you have a centralized way of controlling and monitoring your builds.

I can't say anything about MSBuild plugin, since for historical reasons we run MS Devenv builds via command line (using ANT as the "glue").

We build our product (written mostly in C++) for Windows, OS X, iOS, and Android. Our lower-level build system is CMake-based.