crauscher
crauscher

Reputation: 6618

Does CI need a CI-Server

Is a CI server required for continous integration?

Upvotes: 4

Views: 1140

Answers (5)

sal
sal

Reputation: 23623

Before I ever heard the term "continuous-integration" (This was back in 2002 or 2003) I wrote a nightly build script that connected to cvs, grabbed a clean copy of the main project and the five smaller sub-projects, built all the jars via ant then built and redeployed a WAR file via a second ant script that used the tomcat ant tasks.

It ran via cron at 7pm and sent email with a bunch of attached output files. We used it for the entire 7 months of the project and it stayed in use for the next 20 months of maintenance and improvements.

It worked fine but I would prefer hudson over bash scripts, cron and ant.

Upvotes: 2

Josh Kodroff
Josh Kodroff

Reputation: 28121

A separate machine is really necessary if you have more than one developer on the project.

If you're using the .NET technology stack here's some pointers:

  1. CruiseControl.Net is fairly lightweight. That's what we use. You could probably run it on your development machine without too much trouble.
  2. You don't need to install or run Visual Studio unless you have Visual Studio Setup Projects. Instead, you can use a free command line build tool called MSBuild.

Upvotes: 1

Jay Bazuzi
Jay Bazuzi

Reputation: 46506

It's important to use a dedicated machine so that you get independent verification, without corruption.

For small projects, it can be a pretty basic machine, so don't let hardware costs get you down. You probably have an old machine in a closet that is good enough.

You can also avoid dedicated hardware by using a virtual machine. Best bet is to find a server that is doing something else but is underloaded, and put the VM on it.

Upvotes: 2

MrTelly
MrTelly

Reputation: 14865

You don't need a dedicated server, but a build machine of some kind is invaluable, otherwise there is no single central place where the code is always being built and tested. Although you can mimic this affect using a developer machine, there's the risk of overlap with the code that is being changed on that machine.

BTW I use Hudson, which is pretty light weight - doesn't need much to get it going.

Upvotes: 3

ojblass
ojblass

Reputation: 21620

In order to facilitate continous integration you need to automate the build, distribution, and deploy processes. Each of these steps is possible without any specialized CI-Server. Coordinating these activities can be done through file notifications and other low level mechanisms; however, a database driven backend (a CI-Server) coordinating these steps greatly enhances the reliability, scalability, and maintainability of your systems.

Upvotes: 8

Related Questions