[Buildbot-devel] understanding buildbot & writing custom 'process'
japj at xs4all.nl
Tue Dec 9 07:45:08 UTC 2003
I'm currently looking into using buildbot at my work. Let me start by
first giving some background on our current buildprocess and how I want
to start using buildbot.
The project I'm working consists of about 50 people, split into 2 sites
(in 2 different countries).
We're currently using Continuus CMSynergy (from Telelogic) as
configuration management tool.
We develop in increments and support multiple products (the buildtime of
the complete codebase is +/- 1 hour). This is a W2K based product.
The buildmachines start building the complete tree on regular intervals
(about every other hour) and multiple increments can build at the same time.
When done with the build, an email is send to a mailinglist stating the
result (succeeded/failure), in short the possible error, all new tasks
there were used since the last OK build, changed files, etc
We are currently working on automatic testing (with python - running on
a W2K platform) and I would like to use buildbot for 'coordinating' &
'following' the test process. With this in mind, I thought about the
following way to 'integrate' buildbot into our process:
note: My current focus is on getting the automatic tests running through
the use of buildbot, we have a decent build environment that I do not
(can not) touch for the moment.
1) a certain 'ref'/'increment' build completes, and an email is send out
2) if the build succeeds, buildbot master will trigger and 'notify' it's
3) a slave will copy the build results (exe, dlls, data, testscripts,
etc) from the build machine
4) the slave will update it's current software (installation) based upon
the localcopy made by step 4)
5) automatic tests for a certain product will be performed
Now I'm trying to map this onto what I understand of buildbot.
*) I want to seperate per product testing, this way I can choose how to
configure the test machines (a different PC per
increment/product/whatever), instead of having 'one' testSuite that
tests all products.
*) I will need to write a 'replacement' for the 'CVS source' in order to
copy the build tree results
*) I will need to write a 'replacement' for cvs/mail 'changes' in order
to parse the build log and provide decent information to buildbot (but
this might be able to wait a little, because I can manually trigger a
slave to start doing it's work if I'm correct)
*) I will need to 'integrate' (run) our current automatic python tests
into buildbot, in order for it to correctly report the testing status
I found that there is a seperate 'process' for twisted in the buildbot
tree, that I'm currently digging into in order to understand how to
extend buildbot for the above purposes.
I would like to know if my current ideas on how to deal with this sound
ok, and maybe some hints on how other people currently deal with this :)
More information about the devel