A quick brain dump of how to add build slaves.
[Imported from Trac: page HowtoContributeABuildbot, version 1]
parent
dd2616aff8
commit
08e6f75bfb
91
HowtoContributeABuildbot.md
Normal file
91
HowtoContributeABuildbot.md
Normal file
|
@ -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
|
||||||
|
```
|
Loading…
Reference in a new issue