Unclean. (does your CI server have an IDE installed on it?)

Unclean. (does your CI server have an IDE installed on it?)

(image taken from SubFlux’s photostream)

Your build shouldn’t depend on an IDE. I’ve been saying that for a long time. It doesn’t matter that all the developers use the same IDE on your project. At least in the Java world that I have inhabited for most of the past 8 years, you absolutely should not need an IDE installed on your build server.

Yesterday I installed an IDE on the build server.

Casey Charlton and I both agree that in an ideal world, there’s no connection between the build and the IDE. I’ve been trying to find a reference to the “thou shalt not install an IDE on the damn build server” rule. I’ve found a pretty authoritative quote from Paul Duvall’s book:

You should avoid coupling your build scripts with an IDE. An IDE may be dependent on a build script, but a build script shouldn’t be dependent on your IDE. …. Creating a seperate build script is important for two reasons:

1. Each developer may be using a different IDE, and it can be difficult to to account for configuration differences in each IDE.

2. A CI server must execute an automated build without human intervention. Therefore, the same automated build script used by developers can and should be used by the CI server…

As usual, Paul is bang on. But my issue at the moment is Visual Studio. Not that I can’t write code in it (I haven’t really tried), but the fact that it’s actually more than an IDE in the traditional sense. It’s also the container for the testing framework. It’s almost the entire stack. It comes with Crystal Reports (which I’m happy to say I didn’t install), and other stacks of middleware. Which you need to build your app. Ever tried to build a VSTO app? You need Visual Studio.

In theory, you don’t need it, because the build tool for Microsoft Products (MSBuild) comes with the .NET framework. But it seems like in practice, you do.

So I installed it. And the build works, without me fiddling with the GAC. I can live with that. What works for you?

2 thoughts on “Unclean. (does your CI server have an IDE installed on it?)

  1. Anonymous says:

    Hey, Julian.Really sorry to hear that, man. We’ve been building our .Net app on a server without an IDE for the last 2 years.I recall having a few small teething problems (and another few when we got a new build server), but nothing too serious. But I’d agree that the MS world is not geared towards automated execution like the Java and other worlds.Resist the IDE!Take care,Andy D.

  2. Julian says:

    Andy,Thanks for the support. I have a virtual machine that I’m planning to test CI sans IDE on. I’m still not convinced that it’s not such a bad idea as in a Java project, but I’m glad someone else feels uneasy when they install VS on a build machine!Best,Julian

Comments are closed.

%d bloggers like this: