Birds Eye View - Goals

  • Run against the latest stable buildbot release
  • Only need 2 open ports (HTTP and buildbot port)
  • Integrate with jhbuild - make it as easy as possible to run slaves

Easy deployment

  • Buildbot scripts are shipped with jhbuild
  • Buildbot and twisted dependencies are installed via jhbuild


  • Land the jhbuildbot branch at trunk/jhbuild/buildbot/*
  • Land jhbuild integration at trunk/jhbuild/commands/buildbot.py


  • For slaves, do best to autogenerate some config from jhbuild information.
  • For master, we can take care of poking master.cfg manually.

jhbuildbot_type = 'master'
jhbuildbot_prefix = '/home/john/buildbot/'
  • Need configuration for:
    • Master or slave
    • Where to find the buildbot/twisted dependencies
    • A work area (where the .tac and builddir goes)
  • Exisiting jhbuild config is used for:
    • The prefix and src folders
  • Data pushed from the server is used for:
    • The moduleset and modules to build

Suggested folder layout

  • buildbot/
    • src/ (source code for buildbot deps and gnome projects)
    • environment/ (installed buildbot dependencies)
    • install/ (installed gnome projects)
    • builddir/ (created by buildbot)

Hopefully the buildbot.tac and master.cfg and friends can be kept in jhbuild folder, so that we can upgrade with just an svn up on jbhuild.

New JHBuild commands

Creating a new 'instance'

  • Install dependancies
  • Create working directories

jhbuild bot --setup

Starting an instance

  • Run 'make start' but with correct PYTHONPATH foo
  • Should have an option to run in foreground?

jhbuild bot --start

Stopping an instance

  • Run the 'make stop' but with correct PYTHONPATH foo

jhbuild bot --stop

Watching the log of an instance

  • Run the 'make log' but with correct PYTHONPATH foo

jhbuild bot --log

Reload an instance (to pick up new slaves/projects)

  • Run the 'make reconfig' but with correct PYTHONPATH foo
  • TODO: reconfig might be a no-op on a slave

jhbuild bot --reconfig

JohnCarr/Jhbuildbot (last edited 2008-07-22 13:48:55 by JohnCarr)