In my development I am in need of a build program/manager that can handle cross platform.

Lets imagine a simple scenario of 3 computers. 1 'manager' machine, 1 Windows development machine and 1 Linux machine.

Lets say I build a program which is compiled from same source code under Windows and linux I'd like to be able to do it centrally by pressing 1 button (I like having total control :D)

Ideally I'd like to have a file output which looks like:

/prog/win32
/prog/linux
/prog/...

Then the manager machine must package the thing up in a installation archive. Currently pkzip does the job into a zip file.

OK lets break the problem down to smaller pieces.

The job consist of the following steps:

1. manager takes input and distribute tasks
2. manager waits for results
3. development machines processes requests and builds program and puts it in a common network directory.
4. All dev machines are now done and respond success.
5. manager finishes off by zipping it up.

Step 3 is relatively simple to do by using platform-independent makefiles.

The problem is to distribute tasks and waiting for it to finish. The tasks should be processed in parallel so you don't wait for one development machine to finish before the next one begins.

I assume there are no program which does 100% what I want but there are other industries where this is pretty common. Think of a render manager. It usually consist of a controller which breaks up a rendering job into smaller parts and sends it out to connected 'slaves'.

I thought about writing my own client/server app. But I'm unsure how I should manage the whole process. Maybe someone know some programs which could ease the process.
I also thought about using emails/databases where each development machine can filter if they got some commands to process.

Thanks in advance.

// CyberHeg
Posted on 2003-10-15 05:43:46 by CyberHeg