I implement the primary web-page status interface, called a 'Waterfall
Display' because builds and steps are presented in a grid of boxes which
move downwards over time. The top edge is always the present. Each column
represents a single builder. Each box describes a single Step, which may
have logfiles or other status information.
All these pages are served via a web server of some sort. The simplest
approach is to let the buildmaster run its own webserver, on a given TCP
port, but it can also publish its pages to a
twisted.web.distrib
distributed web server (which lets the
buildbot pages be a subset of some other web server).
Since 0.6.3, BuildBot defines class attributes on elements so they can
be styled with CSS stylesheets. Buildbot uses some generic classes to
identify the type of object, and some more specific classes for the
various kinds of those types. It does this by specifying both in the
class attributes where applicable, separated by a space. It is important
that in your CSS you declare the more generic class styles above the more
specific ones. For example, first define a style for .Event, and below
that for .SUCCESS
The following CSS class names are used:
Method Summary |
|
__init__ (self,
http_port,
distrib_port,
allowForce,
categories,
css,
favicon,
robots_txt)
To have the buildbot run its own web server, pass a port number to
http_port . |
|
__repr__(self)
|
|
setServiceParent (self,
parent)
|
|
setup(self)
|
Inherited from StatusReceiver |
|
builderAdded (self,
builderName,
builder)
|
|
builderChangedState (self,
builderName,
state)
|
|
builderRemoved (self,
builderName)
|
|
buildETAUpdate (self,
build,
ETA)
|
|
buildFinished (self,
builderName,
build,
results)
|
|
buildsetSubmitted (self,
buildset)
|
|
buildStarted (self,
builderName,
build)
|
|
logChunk (self,
build,
step,
log,
channel,
text)
|
|
logFinished (self,
build,
step,
log)
|
|
logStarted (self,
build,
step,
log)
|
|
stepETAUpdate (self,
build,
step,
ETA,
expectations)
|
|
stepFinished (self,
build,
step,
results)
|
|
stepStarted (self,
build,
step)
|
Inherited from MultiService |
|
__iter__ (self)
|
|
addService (self,
service)
|
|
getServiceNamed (self,
name)
|
|
privilegedStartService (self)
|
|
removeService (self,
service)
|
|
startService (self)
|
|
stopService (self)
|
Inherited from Service |
|
__getstate__ (self)
|
|
disownServiceParent (self)
|
|
setName (self,
name)
|
Inherited from ComparableMixin |
|
__cmp__ (self,
them)
|
|
__hash__ (self)
|
__init__(self,
http_port=None,
distrib_port=None,
allowForce=True,
categories=None,
css='/home/warner/stuff/Projects/BuildBot/trees/rel-0.7.5/bui...,
favicon='/home/warner/stuff/Projects/BuildBot/trees/rel-0.7.5/bui...,
robots_txt=None)
(Constructor)
To have the buildbot run its own web server, pass a port number to
http_port . To have it run a web.distrib server
-
- Parameters:
http_port -
a strports specification describing which port the buildbot
should use for its web server, with the Waterfall display as the
root page. For backwards compatibility this can also be an int.
Use 'tcp:8000' to listen on that port, or
'tcp:12345:interface=127.0.0.1' if you only want local processes
to connect to it (perhaps because you are using an HTTP reverse
proxy to make the buildbot available to the outside world, and do
not want to make the raw port visible).
(type=int or twisted.application.strports
string)
distrib_port -
Use this if you want to publish the Waterfall page using
web.distrib instead. The most common case is to provide a string
that is an absolute pathname to the unix socket on which the
publisher should listen
(os.path.expanduser(~/.twistd-web-pb) will match the
default settings of a standard twisted.web 'personal web
server'). Another possibility is to pass an integer, which means
the publisher should listen on a TCP socket, allowing the web
server to be on a different machine entirely. Both forms are
provided for backwards compatibility; the preferred form is a
strports specification like 'unix:/home/buildbot/.twistd-web-pb'.
Providing a non-absolute pathname will probably confuse the
strports parser.
(type=int or twisted.application.strports
string)
allowForce -
if True, present a 'Force Build' button on the per-Builder
page that allows visitors to the web site to initiate a build. If
False, don't provide this button.
(type=bool)
favicon -
if set, provide the pathname of an image file that will be
used for the 'favicon.ico' resource. Many browsers automatically
request this file and use it as an icon in any bookmark generated
from this site. Defaults to the buildbot/buildbot.png image
provided in the distribution. Can be set to None to avoid using a
favicon at all.
(type=string)
robots_txt -
if set, provide the pathname of a robots.txt file. Many search
engines request this file and obey the rules in it. E.g. to
disallow them to crawl the status page, put the following two
lines in robots.txt:
User-agent: *
Disallow: /
(type=string)
- Overrides:
buildbot.status.base.StatusReceiverMultiService.__init__
|