[Buildbot-devel] Buildbot config wizard

Brian Warner warner-buildbot at lothar.com
Tue Jan 24 01:21:46 UTC 2006


> I was thinking about creating a buildbot config file creation wizard.

This could be interesting. Once upon a time, I wanted to have some sort of
web-based config-file construction panel. The idea would be that you'd type
just enough at the command line to give the buildmaster a base directory and
a TCP port to listen on, and then you'd configure everything else through its
web interface. (The idea of having the BuildSteps be identified by
name+kwargs rather than being explicit objects in the config file is for this
purpose.)

I never really got around to implementing it, partially because it was too
hard, partially because it looked like eventually Nevow or Formless or
something would make it easier, and partially because there are so many
things that you *can't* configure this way. Basically, you'd be writing a
little configuration language, expressed in drop-down menus to select
BuildSteps, and with buttons like "add a new Builder" and a form you fill out
to describe the pieces. Over time, these "little languages" always grow, as
you try to add more flexibility to them. Eventually you start adding loops,
and conditionals, etc, etc, and before you know it you've got a
Turing-complete monster on your hands.

So my decision was to cut out the middleman and jump straight to an existing
language, by using python for the config file.

That said, it *would* be really nice if simple configurations were simple to
create. The Divmod folks have been building some tools along these lines, and
I've been told that "Mantissa" may be worth looking into. I'm concerned about
retaining the "making complex things possible" aspect, but perhaps there
could be some sort of tool that would let you go clicky-clicky and would emit
a config file, which you might customize and enhance later as you start to
need the flexibility, but which might be good enough for your first week with
the buildbot. Such a tool wouldn't necessarily have to be built-in to the
buildbot itself, it could be a CGI script somewhere that produces a
downloadable config file, although I suspect it would be better to include it
with the buildbot distribution than to ask beginning users to look elsewhere
for a configuration tool.


cheers,
 -Brian




More information about the devel mailing list