Buildbot Master
Der Buildbot Master erhält Build Aufträge von github und koordiniert die Buildbot worker, auf denen der Code gebaut und getestet wird.
Buildbot wird für usrsctp (sctplab/usrsctp und zum Testen msvoelker/usrsctp) und nplab/packetdrill genutzt. In den Einstellungen der github Repositories ist ein Webhook angelegt, der dafür sorgt, dass der Buildbot Master über ein Push von neuen commits informiert wird.
Die Buildbot Masters laufen auf einer FreeBSD VM, die unter bhyve läuft. Erreichbar über buildbot.nplab.de (ipfw Firewall auf gw-tuexen schränkt Zugriff ein).
- http://buildbot.nplab.de:18010 - sctplab/usrsctp
- http://buildbot.nplab.de:38010 - nplab/packetdrill
- http://buildbot.nplab.de:48010 - msvoelker/usrsctp
Buildbots laufen unter dem Nutzer buildbot, der kein Passwort hat. Zum Wechseln
sudo su buildbot cd ~/bb-master
Die master.cfg enthält jeweils Einstellungen zu den Buildbot Worker des Masters und zu den Schritten, die die ausführen sollen.
Um Buildbot Master zu starten bzw. neu zu starten (z. B. nach Änderung einer master.cfg).
buildbot@buildbot:~/bb-master % ./start_master.sh
Die wichtigen Dateien finden sich auch im github Repository Misc
Installation
Installation des buildbot master unter FreeBSD 13.1-RELEASE-p3.
Benötigte Software installieren.
pkg install git py39-buildbot py39-buildbot-www bash tmux
Nutzer buildbot erstellen (ohne Passwort ohne zusätzliche Gruppen)
adduser buildbot
github Repository klonen.
cd /home/buildbot git clone git@github.com:nplab/Misc chmod -R 777 Misc
Wechseln als Nutzer buildbot
sudo su buildbot
Symbolischen Link zum bb-master Verzeichnis erstellen
ln -s Misc/buildbot/bb-master bb-master cd bb-master
upgrade-master ausführen
buildbot upgrade-master /usr/home/buildbot/bb-master/sctplab-usrsctp buildbot upgrade-master /usr/home/buildbot/bb-master/msvoelker-usrsctp buildbot upgrade-master /usr/home/buildbot/bb-master/nplab-packetdrill
htdocs Verzeichnisse anlegen, in dem cppreport und scanbuild Dateien abgelegt werden können.
cd ~ mkdir buildbot-htdocs mkdir buildbot-htdocs/18010 mkdir buildbot-htdocs/48010
Master starten.
tmux cd ~/bb-master ./start_master.sh
tmux Session verlassen mit ctrl-b + d, tmux Session wieder aufrufen tmux attach.
