Changes between Initial Version and Version 1 of HowtoContributeABuildbot


Ignore:
Timestamp:
2010-02-06T23:43:28Z (14 years ago)
Author:
nejucomo
Comment:

A quick brain dump of how to add build slaves.

Legend:

Unmodified
Added
Removed
Modified
  • HowtoContributeABuildbot

    v1 v1  
     1From http://allmydata.org/pipermail/tahoe-dev/2009-December/003279.html:
     2
     3Note: These instructions omit the fact that you must install darcs as a prerequisite to setup a build slave.
     4
     5{{{
     6[tahoe-dev] How to set up a buildslave?
     7Zooko Wilcox-O'Hearn zooko at zooko.com
     8Sun Dec 6 11:25:27 PST 2009
     9
     10    * Previous message: [tahoe-dev] How to set up a buildslave?
     11    * Next message: [tahoe-dev] [tahoe-lafs] #534: "tahoe cp" command encoding issue
     12    * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
     13
     14On Sunday, 2009-12-06, at 11:27 , <kyle at arbyte.us> wrote:
     15
     16> I would like to set up my openbsd/amd64 system to be a buildslave.   
     17> How do I do this?
     18
     19I'll summarize to tahoe-dev, and then let's take the back-and-forth 
     20details of the setup into private mail so as not to bore the non-
     21buildbot-operating mailing list readers.
     22
     23Step 1: install buildbot on your system (presumably using the OpenBSD 
     24port)
     25
     26This is also the part where you choose what sort of controls you want 
     27to have over your buildslave.  I would strongly advise you not to run 
     28your buildslave under your user account, and (duh) not to give it any 
     29sort of elevated privileges such as root!
     30
     31So, running under a separate user account without high privileges is 
     32definitely a good idea, but since you're an OpenBSD user I guess I 
     33don't need to tell you this.
     34
     35Also you can use other mechanisms to lock it down more like jail, 
     36chroot, etc.  David Abrahams uses Solaris Zones to contain his 
     37buildslaves.  I don't know what particular features Zones offer.  I 
     38wonder if this means he can use ZFS snapshots to rewind the state of 
     39the filesystem before running each build.  That would be cool.  Brian 
     40Warner and the other buildbot maintainers have been hacking on some 
     41tricks to set up your buildslaves inside a full virtual machine so 
     42that you can have a pristine machine for every build -- e.g. "This is 
     43a fresh install of OpenBSD 4.6 with nothing added except for buildbot 
     44and its dependencies.".
     45
     46Personally I don't (yet) use any such fancy techniques -- I just run 
     47my buildslaves under a separate user account which doesn't have 
     48access to my personal stuff or to root privileges.
     49
     50Step 2: choose a name for your buildslave which will fit into the 
     51list of buildslave names: http://allmydata.org/buildbot/buildslaves . 
     52A hostname would be a good choice.
     53
     54Step 3: Receive a password from me in email.
     55
     56Step 4: create the buildslave with "buildbot create-slave $BASEDIR 
     57dev.allmydata.com:9987 $SLAVENAME $PASSWORD"
     58
     59detailed docs: http://djmitche.github.com/buildbot/docs/0.7.11/
     60#Creating-a-buildslave
     61
     62Then "buildbot start $BASEDIR".
     63
     64Step 5: Please do this two more times, one for pycryptopp and one for 
     65zfec.  Those two use the same $SLAVENAME and $PASSWORD and hostname 
     66("dev.allmydata.com"), but a different $BASEDIR (whatever directory 
     67you want -- I personally use a different user account for my tahoe-
     68lafs, pycryptopp, and zfec buildslaves), and a different port 
     69number.  Port 9987 == tahoe-lafs, port 10998 == pycryptopp, port 
     7012987 == zfec .
     71
     72
     73Okay, once you've gotten all this working then we'll see your OpenBSD/
     74amd64 machine on the buildbot pages and we'll see how well Tahoe-LAFS 
     75passes unit tests on your platform.  Eventually I would like to go on 
     76to the next step, which is integrating Tahoe-LAFS into the official 
     77OpenBSD package system (ports) and adding tests to check whether 
     78Tahoe-LAFS is still correctly building from its ports package.  But 
     79that is for another day.
     80
     81
     82Regards,
     83
     84Zooko
     85
     86    * Previous message: [tahoe-dev] How to set up a buildslave?
     87    * Next message: [tahoe-dev] [tahoe-lafs] #534: "tahoe cp" command encoding issue
     88    * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
     89
     90More information about the tahoe-dev mailing list
     91}}}