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).

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.