Drizzle Wiki
(Add category)
Mshadle (talk | contribs)
No edit summary
 
(7 intermediate revisions by 6 users not shown)
Line 1: Line 1:
  +
{{ HeadingA|[http://drizzle.org/wiki/BuildBot The Drizzle Wiki has moved! Click here for the new page.] }}
  +
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  +
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  +
__NOTOC__
  +
 
= Overview =
 
= Overview =
 
The success of Drizzle will be due to the contributions of the community. You don't have to be a coder to contribute, there are many other areas including testing, documentation and contributing to the build process for example.
 
The success of Drizzle will be due to the contributions of the community. You don't have to be a coder to contribute, there are many other areas including testing, documentation and contributing to the build process for example.
Line 8: Line 13:
 
To run a buildbot slave, you need to do.
 
To run a buildbot slave, you need to do.
   
* 1. [http://ronaldbradford.com/blog/installing-buildbot-2008-07-28/ Install Buildbot]
+
# [http://ronaldbradford.com/blog/installing-buildbot-2008-07-28/ Install Buildbot]
* 2. Install Bazaar (used to obtain LaunchPad sourcs)
+
# Install [[Bazaar]] (used to obtain LaunchPad sourcs)
  +
# Make sure that all [[Compiling#Package_Dependencies|build dependencies]] are met
* 3. Send an email to '''drizzlebuild @ 42sql dot com''' with the following information
+
# Send an email to '''drizzlebuild @ 42sql dot com''' with the following information
** Name (e.g. Joe Bloggs)
+
#* Name (e.g. Joe Bloggs)
** OS - Name, Version & Architecture ( CentOS 5 64bit)
+
#* OS - Name, Version & Architecture ( CentOS 5 64bit)
** uname -a
+
#* uname -a
* 4. When you get a response, you will receive a build slave name (e.g. centos5_64) and a password (e.g. PaSSw0rd)
+
# When you get a response, you will receive a build slave name (e.g. centos5_64) and a password (e.g. PaSSw0rd)
* 5. Follow the following slave instructions.
+
# Follow the following slave instructions.
   
 
<pre>
 
<pre>
Line 50: Line 56:
   
 
Full details at [http://ronaldbradford.com/blog/building-sources-with-buildbot-2008-07-29/ Building sources with BuildBot]
 
Full details at [http://ronaldbradford.com/blog/building-sources-with-buildbot-2008-07-29/ Building sources with BuildBot]
  +
  +
= (Optional) Add script to /etc/init.d =
  +
If you follow all of the instructions provided in the very helpful article provided by Ronald Bradford you may have added the @reboot option to your cron, this is one way to launch buildbot (upon startup) but alternatively you could add a script to your /etc/init.d/ which will start and stop buildbot upon startup and shutdown respectively.
  +
#create the script
  +
nano /etc/init.d/drizzle-buildbot.sh
  +
  +
#! /bin/sh
  +
#set path
  +
PATH=/sbin:/bin:/usr/bin
  +
  +
#functions (adjuct to suit your paths)
  +
do_start () {
  +
cd /home/buildbot/slave
  +
buildbot start /home/buildbot/slave > start.log
  +
}
  +
  +
do_stop () {
  +
cd /home/buildbot/slave
  +
buildbot stop /home/buildbot/slave
  +
}
  +
  +
case "$1" in
  +
start|"")
  +
do_start
  +
;;
  +
stop)
  +
do_stop
  +
;;
  +
*)
  +
echo "Usage: drizzle-buildbot.sh start|stop" >&2
  +
exit 3
  +
;;
  +
esac
  +
  +
now you need to just create a symlink to this script into the /etc/rc2.d directory:
  +
#create symlink
  +
ln -s /etc/init.d/drizzle-buildbot.sh /etc/rc2.d/S99drizzle-buildbot.sh
  +
  +
Now, whenever your system is started, buildbot will start.
  +
  +
= Setting search paths =
  +
  +
If your buildbot fails in configure because it cannot find your installation of library dependencies, consider setting the default environment of your buildbot user.
  +
  +
For GCC you can set CPATH and LIBRARY_PATH to add more directories to the default include and library search paths.
  +
  +
This allows you to install e.g. libevent in a non-standard place and still be able to become a buildbot slave without cluttering your standard paths.
   
 
[[Category:Build]]
 
[[Category:Build]]
  +
  +
= Buildslave Issues =
  +
  +
If you're sure you've met all the dependencies listed on the [[Compiling#Package_Dependencies |PackageDependencies]] page and your slave is still having issues, try [[BuildSlaveIssues]].
  +
  +
[[it:BuildBot]]

Latest revision as of 06:02, 17 November 2008

The Drizzle Wiki has moved! Click here for the new page.
























Overview[]

The success of Drizzle will be due to the contributions of the community. You don't have to be a coder to contribute, there are many other areas including testing, documentation and contributing to the build process for example.

Contributing a buildbot slave will help drizzle developers test across a various number of configurations.

Setup[]

To run a buildbot slave, you need to do.

  1. Install Buildbot
  2. Install Bazaar (used to obtain LaunchPad sourcs)
  3. Make sure that all build dependencies are met
  4. Send an email to drizzlebuild @ 42sql dot com with the following information
    • Name (e.g. Joe Bloggs)
    • OS - Name, Version & Architecture ( CentOS 5 64bit)
    • uname -a
  5. When you get a response, you will receive a build slave name (e.g. centos5_64) and a password (e.g. PaSSw0rd)
  6. Follow the following slave instructions.
#
# Create separate user
#
# Recommended but not required to create a separate user
#
su -
useradd buildbot
su - buildbot
#
# Create Slave
#
buildbot create-slave /home/buildbot/slave drizzlebuild.42sql.com:9989 [slavename] [password]
cd /home/buildbot/slave/info
echo "Put Your Name Here < and some cryptic email text> ” > admin
echo “Drizzle - Name Version & Architecture “`uname -a` > host
cat admin host
#
# e.g. "Ronald Bradford < ronald.bradford @ Google Mail >"
# e.g. "Drizzle - CentOS 5 64bit - 
#
#
# Start Slave
#
#
cd /home/buildbot/slave
buildbot start /home/buildbot/slave > start.log 
tail -f /home/buildbot/slave/twistd.log

If all working you will be getting output immediately, as well as seeing a status at Drizzle Build Slaves

Full details at Building sources with BuildBot

(Optional) Add script to /etc/init.d[]

If you follow all of the instructions provided in the very helpful article provided by Ronald Bradford you may have added the @reboot option to your cron, this is one way to launch buildbot (upon startup) but alternatively you could add a script to your /etc/init.d/ which will start and stop buildbot upon startup and shutdown respectively.

#create the script
nano /etc/init.d/drizzle-buildbot.sh
#! /bin/sh
#set path
PATH=/sbin:/bin:/usr/bin

#functions (adjuct to suit your paths) 
do_start () {
        cd /home/buildbot/slave
        buildbot start /home/buildbot/slave > start.log
}

do_stop () {
        cd /home/buildbot/slave
        buildbot stop /home/buildbot/slave
}

case "$1" in
    start|"")
        do_start
        ;;
    stop)
        do_stop
        ;;
    *)
        echo "Usage: drizzle-buildbot.sh start|stop" >&2
        exit 3
        ;;
esac

now you need to just create a symlink to this script into the /etc/rc2.d directory:

#create symlink
ln -s /etc/init.d/drizzle-buildbot.sh /etc/rc2.d/S99drizzle-buildbot.sh

Now, whenever your system is started, buildbot will start.

Setting search paths[]

If your buildbot fails in configure because it cannot find your installation of library dependencies, consider setting the default environment of your buildbot user.

For GCC you can set CPATH and LIBRARY_PATH to add more directories to the default include and library search paths.

This allows you to install e.g. libevent in a non-standard place and still be able to become a buildbot slave without cluttering your standard paths.

Buildslave Issues[]

If you're sure you've met all the dependencies listed on the PackageDependencies page and your slave is still having issues, try BuildSlaveIssues.