This is an old revision of the document!
Table of Contents
Buildbot Worker
Buildbot Worker melden sich beim Buildbot Master mit ihrem Namen und einem Passwort an. Sobald der Master einen Build-Auftrag erhält, gibt er die auszuführenden Schritte an seine Worker weiter.
Allgemeine Verwaltung
Dateien, wie z. B. Skripte finden sich hier: https://github.com/nplab/Misc/tree/master/buildbot/bb-worker
Zugriff
SSH Zugriff (ipfw Firewall auf gw-tuexen schränkt Zugriff ein, lässt SSH aber durch). Buildbot Worker laufen unter Nutzer buildbot.
sudo su buildbot cd ~/bb-worker
Erstellen
Zum Erstellen der Worker gibt es das Skript create_worker.sh. Das führt die Befehle zum Erstellen des Workers aus.
Soll z. B. ein freebsd Worker für sctplab/usrsctp zu erstellt werden, ist das der Folgende:
buildbot-worker create-worker sctplab-usrsctp buildbot.nplab.de:19989 freebsd buildbotsBuildBuilts
Dadurch wird ein Verzeichnis sctplab-usrsctp erstellt mit einer buildbot.tac Datei, die Einstellungen enthält.
Starten
Zum Starten bzw. Neustarten gibt es das Skript start_worker.sh. Das führt die Befehle zum Neustarten aller Worker auf dem System aus.
Um z. B. einen Worker für sctplab/usrsctp neu zu starten, sind das die Folgenden:
buildbot@buildbot:~/bb-worker % buildbot-worker stop sctplab-usrsctp buildbot@buildbot:~/bb-worker % buildbot-worker start sctplab-usrsctp
Worker Systeme
Einige Worker laufen als bhyve VM und einige auf eigener Hardware.
FreeBSD
VM (gleiche wie für den Master)
OpenBSD
VM 212.201.121.118
NetBSD
VM 212.201.121.113
Linux (Ubuntu)
VM 212.201.121.114
macOS
Mac mini neben dem Drucker. 212.201.121.116
Raspbian Linux (ARM)
Raspberry Pi im Rumpus Room. 212.201.121.112
Windows
VM 212.201.121.115
Zugriff
Zugriff per Remote Desktop mit Nutzer weinrank und Standard root-Passwort (Nutzer buildbot hat auch das Standard root-Passwort). Wird blockiert von ipfw Firewall auf gw-tuexen. Deshalb nur aus einem internen Netz z. B. aus dem roten Netz.
Software zum Bauen
Installiert werden muss Visual Studio Community mit dem C++ Desktop Workkit und MSYS2 64 bit mit mingw-w64.
Der Visual Studio Installer kann bei Microsoft heruntergeladen werden. Bei der Installation den C++ Desktop Workkit auswählen.
MSYS2 kann hier heruntergeladen werden. Nach der Installation lässt sich über das Startmenü eine MSYS2 MSYS Konsole starten. Darin folgende Befehle ausführen, um Pakete zu aktualisieren und mingw zu installieren.
pacman -Syuu pacman -S --needed base-devel mingw-w64-x86_64-toolchain pacman -S --needed base-devel mingw-w64-x86_64-cmake pacman -S --needed base-devel mingw-w64-i686-toolchain pacman -S --needed base-devel mingw-w64-i686-cmake
Worker erstellen
Python 32 Bit installieren.
cmd als Nutzer buildbot starten (z. B. als Verknüpfung auf dem Desktop).
runas /savecred /user:buildbot %windir%\system32\cmd.exe
Darin folgende Befehle ausführen:
cd \users\buildbot\bb-worker python -m venv venv-bs pip install --upgrade pip pip install pywin32 pip install buildbot-worker buildbot-worker create-worker sctplab-usrsctp buildbot.nplab.de:19989 windows buildbotsBuildBuilts
Worker starten
In der Remote Desktop Session von weinrank für jeden Worker einmal cmd als Nutzer buildbot starten.
runas /savecred /user:buildbot %windir%\system32\cmd.exe
Darin den Worker starten mit:
cd \users\buildbot\bb-worker buildbot-worker start sctplab-usrsctp
Worker installieren
FreeBSD
Installation auf FreeBSD 13.1-RELEASE-p3.
Benötigte Software installieren.
pkg install py39-buildbot-worker automake autotools cmake valgrind bash git python bison
Wechseln als buildbot Nutzer.
sudo su buildbot
Soft Link zum bb-worker Verzeichnis im github Repository erstellen (siehe Installation master).
cd ~ ln -s Misc/buildbot/bb-worker bb-worker
Worker erstellen mit WORKERNAME=freebsd
./create-worker.sh
coverity installieren.
cd ~ fetch https://.../cov-analysis-freebsd64-2022.06.tar.gz tar xzf cov-analysis-freebsd64-2022.06.tar.gz mv cov-analysis-freebsd64-2022.6.0 cov-analysis
Ubuntu
Installation auf Ubuntu 22.04.1 LTS.
Nutzer buildbot erstellen.
adduser --disabled-password buildbot
Pakete aktualisieren und benötigte Software installieren
apt update apt upgrade apt install git buildbot-worker autotools-dev libtool-bin make cmake libsctp-dev bison flex python3 cppcheck
Zum Nutzer buildbot wechseln.
sudo su buildbot
Buildbot Worker erstellen mit WORKERNAME = ubuntu.
cd ~ mkdir bb-worker cd bb-worker ./create-worker.sh
