Skip to content

pacNAS/pnbuildbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pnbuildbot readme.
==================

About This Project
------------------
This repository holds the sample configuration for 'master' component of the pacnas buildbot.
It is basically a modified configuration of the original buildbot configuration
from buildbot.net with a few added things.

This buildbot configuration is cloned from the vectorlinux buildbot and adopted
to our own needs (e.g. using github instead of bitbucket). For the original
version see https://bitbucket.org/VLCore/vlbuildbot/overview.

Preparing a new master (this should not be necessary)
-----------------------------------------------------

# Install the buildbot portion (pacman -S buildbot)
# useradd -M buildmaster
# usermod -L buildmaster
# usermod -a -G tu buildmaster
# create directory /srv/buildbot/master
# chown buildmaster:tu /srv/buildbot/master
# cd into /srv/buildbot
# sudo su buildmaster
# buildbot create-master master
# exit
# sudo chown buildmaster:tu master -R
# copy pnbuildbot/master/* into /srv/buildbot/master
# chown buildmaster:tu all new files
# copy pnconfig.ini.sample to pnconfig.ini and adopt to your own needs
# copy buildbot.service to /etc/systemd/system/
# start buildbot.service: systemctl start buildbot.service
# enable buildbot.service: systemctl enable buildbot.service

If you are using buildbot behind a reverse proxy (apache2 with mod_proxy) and you do
have slashes in your builder-names (we do use them to separate repositories from the
package name, eg. community/lessc), the following http-config is needed:

#
# Configure buildbot to use usual port 80 and forward (via mod_proxy) to port 8010
#

<Location "/buildbot">
    Satisfy any
    Allow from all
</Location>

# we need %2F as the encoding of / for the names of builders (eg. community/lessc)
# see http://serverfault.com/questions/455060/cant-get-mod-proxy-to-correctly-forward-encoded-slash-characters-2f
AllowEncodedSlashes On

ProxyPass /buildbot/ http://localhost:8010/ nocanon
ProxyPassReverse /buildbot/ http://localhost:8010/



Preparing a new slave.
---------------------

# Contact the pacnas buildbot administrator (hint: [email protected]) to get your password and the port so,
number the slave can connect to the master.

# Install devtools
# Install the slave portion of the buildbot with {{{ pacman -S buildbot-slave }}}

# chmod g+w /srv/buildbot

# useradd -M buildslave
# usermod -L buildslave
# usermod -a -G tu buildslave

# this user needs sudo rights, add the file buildslave.sudoers to your /etc/sudoers.d (chmod 440)

# sudo su buildslave

# Create the slave in /srv/buildbot using:
# buildslave create-slave --umask=0022 slave localhost:9989 example-slave pass (note, that the hostname, the name of the
  slave and the password should be adopted accordingly)
# chown buildslave:tu /srv/buildbot/slave -R
# Edit the files admin and host in the sub-directory info

# copy buildslave.sudoers /etc/sudoers.d/buildslave

# copy files from the slave-dir (github) to the newly created slave
# chown buildslave staging sources
# chmod 775 staging sources


Getting the bot to work
-----------------------
Since this repo only holds the configuration, we need to actually install and setup the bot, and then drop in our configuration.  The following links provide the guide to installing the master and slaves with the default setup.
 * http://buildbot.net/buildbot/docs/current/tutorial/
 * http://buildbot.net/buildbot/docs/current/manual/installation.html
Once the master is installed, you should follow the above mentioned steps

Adding a new slave
------------------
To add a new slave to the master, you must create the slave, and then edit the pnconfig.ini in the master directory. The section
[slaves] contains the values for each slave (name, password) separated by an '='.

Adding a new application to the bot
-----------------------------------
The bot monitors the provided versioned repository in master.cfg and/or builders.py.  However, to add a new application to be tracked and built by the bot, the application name needs to be added to the file named 'manifest' in the master configuration directory.

For further documentation you can take a look on the original documentation of the vl-bot or write an email to [email protected].

See http://vlcore.vectorlinux.com/buildbot/docs

About

A buildbot configuration for pacNAS and/or ArchLinux

Resources

Stars

Watchers

Forks

Packages

No packages published