A quick brain dump of how to add build slaves.

[Imported from Trac: page HowtoContributeABuildbot, version 1]
nejucomo 2010-02-06 23:43:28 +00:00
parent dd2616aff8
commit 08e6f75bfb

@ -0,0 +1,91 @@
From <http://allmydata.org/pipermail/tahoe-dev/2009-December/003279.html>:
Note: These instructions omit the fact that you must install darcs as a prerequisite to setup a build slave.
```
[tahoe-dev] How to set up a buildslave?
Zooko Wilcox-O'Hearn zooko at zooko.com
Sun Dec 6 11:25:27 PST 2009
* Previous message: [tahoe-dev] How to set up a buildslave?
* Next message: [tahoe-dev] [tahoe-lafs] #534: "tahoe cp" command encoding issue
* Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sunday, 2009-12-06, at 11:27 , <kyle at arbyte.us> wrote:
> I would like to set up my openbsd/amd64 system to be a buildslave.
> How do I do this?
I'll summarize to tahoe-dev, and then let's take the back-and-forth
details of the setup into private mail so as not to bore the non-
buildbot-operating mailing list readers.
Step 1: install buildbot on your system (presumably using the OpenBSD
port)
This is also the part where you choose what sort of controls you want
to have over your buildslave. I would strongly advise you not to run
your buildslave under your user account, and (duh) not to give it any
sort of elevated privileges such as root!
So, running under a separate user account without high privileges is
definitely a good idea, but since you're an OpenBSD user I guess I
don't need to tell you this.
Also you can use other mechanisms to lock it down more like jail,
chroot, etc. David Abrahams uses Solaris Zones to contain his
buildslaves. I don't know what particular features Zones offer. I
wonder if this means he can use ZFS snapshots to rewind the state of
the filesystem before running each build. That would be cool. Brian
Warner and the other buildbot maintainers have been hacking on some
tricks to set up your buildslaves inside a full virtual machine so
that you can have a pristine machine for every build -- e.g. "This is
a fresh install of OpenBSD 4.6 with nothing added except for buildbot
and its dependencies.".
Personally I don't (yet) use any such fancy techniques -- I just run
my buildslaves under a separate user account which doesn't have
access to my personal stuff or to root privileges.
Step 2: choose a name for your buildslave which will fit into the
list of buildslave names: http://allmydata.org/buildbot/buildslaves .
A hostname would be a good choice.
Step 3: Receive a password from me in email.
Step 4: create the buildslave with "buildbot create-slave $BASEDIR
dev.allmydata.com:9987 $SLAVENAME $PASSWORD"
detailed docs: http://djmitche.github.com/buildbot/docs/0.7.11/
#Creating-a-buildslave
Then "buildbot start $BASEDIR".
Step 5: Please do this two more times, one for pycryptopp and one for
zfec. Those two use the same $SLAVENAME and $PASSWORD and hostname
("dev.allmydata.com"), but a different $BASEDIR (whatever directory
you want -- I personally use a different user account for my tahoe-
lafs, pycryptopp, and zfec buildslaves), and a different port
number. Port 9987 == tahoe-lafs, port 10998 == pycryptopp, port
12987 == zfec .
Okay, once you've gotten all this working then we'll see your OpenBSD/
amd64 machine on the buildbot pages and we'll see how well Tahoe-LAFS
passes unit tests on your platform. Eventually I would like to go on
to the next step, which is integrating Tahoe-LAFS into the official
OpenBSD package system (ports) and adding tests to check whether
Tahoe-LAFS is still correctly building from its ports package. But
that is for another day.
Regards,
Zooko
* Previous message: [tahoe-dev] How to set up a buildslave?
* Next message: [tahoe-dev] [tahoe-lafs] #534: "tahoe cp" command encoding issue
* Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the tahoe-dev mailing list
```