Wiki > Main > BuildServerRemake (compare)
Difference: BuildServerRemake (r11 vs. r10)
Things we want (to consider) in the new build system.
All BCs pick an unfinished build as long as not all builds are done. This means that towards the end, more than one BC will build specific builds and the fastest one will be used. This also means that the slower BCs need to be told to kill their build when another BC already completed an upload.
We need to allow for a multitude of admins to be able to allow new clients to join the fun.
Allow BCs to ask for "preferred builds" so that they can ask for builds it recently did, and thus make better use of ccache.
One problem of the existing solution is that we allow a bit too much configuration of the main build script in a way that it made it impossible for us to upgrade the remote builds scripts.
Use build and uploads speeds (over time) for particular BCs to calculate which BC that ought to get which builds. May of course conflict with (C)
Make the BC start the next build while uploading the previous one.
Each client keeps a control channel open against the build server, for commands and information.
Control channel is a SSL connection with unique certificate for each build client
> BUILD [build-id] [conf-options] [revision] [zip] [multithreaded] [output]
Several BUILD commands can be sent without waiting for completion. (Client queuing)
>CANCEL [build-id] [revision]
> PING [seqnum]
> UPDATE [revision]
Update client script to [revision] and reload.
> HELLO [version] [archlist] [username] [clientname] [cpu] [32/64bit] [os] [bogomips]
> COMPLETED [build-id]
Build completed, log and optional zip uploaded.
r13 - 10 Jul 2009 - 15:29:36 - ManuelDejongheRevision r11 - 21 Jun 2009 - 14:10 - BjornStenberg
Revision r10 - 20 Jun 2009 - 23:27 - DanielStenberg
Copyright © by the contributing authors.