Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you get up and running with a build server?

I think everyone here would agree that in order to be considered a professional software house there are number fundamental things you must have in place.

There is no doubt that one of these things is a build server, the question is, how far do you need to go.

  • What are the minimum requirements for the build server? (Somewhere to just compile?)
  • What is the ultimate goal for your build server? (Scheduled, source control integration, auto deployment to test / live servers)
  • Where is a good place to start assuming you have nothing at the moment?

It would be great if we could list out a few simple tasks that an amateur developer could take on board in order to set them on the right track to a fully functional build server.

It would also be good to hear about people that feel they have a "complete" system setup that performs all the functionality they require and how they went about setting it all up from scratch.

like image 617
Robin Day Avatar asked Jan 20 '09 10:01

Robin Day


People also ask

How does a build server work?

A continuous integration server (sometimes known as a build server) essentially manages the shared repository and acts as a referee for the code coming in. When developers commit to the repository, the CI server initiates a build and documents the results of the build.

What does build server mean?

A build server, also called a continuous integration server (CI server), is a centralized, stable and reliable environment for building distributed development projects. The build server starts with a clean slate, so no unapproved configurations or artifacts are present.

How do I run an application on a server?

Using the Windows Program GroupClick the Windows Start button, then select Programs, Sun Microsystems, Sun ONE Application Server 7, Start Application Server. After selecting Start Application Server, you will first see a command window in which the status of the startup process is displayed.


2 Answers

You can start by looking into Cruise Control.

There's also CruiseControl.net if that's your poison.

Essentially though, you need the following ingredients:

  • A dedicated environment (Virtual Machine/server. Don't use a developer's machine, unless it's just you. Even then, run a VM if you can. Much easier to move it to a server when/if one becomes available in your organisation)
  • A source control system that supports labelled/tagged revisions (for example, Subversion+TortoiseSVN)
  • Build scripts. These can be batchfiles that start the devenv.exe or msbuild.exe applications with a command line, or you can use something like Ant or NAnt.

In this scenario, CruiseControl acts as the Continous Integration server, and can make sure that you have builds done as you check in your code. This means you know whether the build is broken quicker than if you just had nightly builds. You should probably also have nightly builds, though.

like image 161
Neil Barnwell Avatar answered Sep 20 '22 22:09

Neil Barnwell


Hudson is a great CI.

We run farm locally, but we started by downloading hudson.war and doing

java -jar hudson.war

It integrates with SCM, bug trucking systems it is really awesome.

You'll need some disk space if you want to keep old build.

Enjoy it is most straightforward CI solution so far.

HTH, Hubert.

like image 26
Hubert Avatar answered Sep 20 '22 22:09

Hubert