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.
Zugriff
Es gibt die folgenden Worker.
| Worker Name | Host Name | Kommentar |
|---|---|---|
| freebsd | buildbot FreeBSD | Läuft in der gleichen VM wie der Buildbot Master. |
| ubuntu | buildbot Ubuntu | VM |
| windows | buildbot Windows | VM |
| openbsd | buildbot OpenBSD | VM |
| netbsd | buildbot NetBSD | VM |
| Raspbian-ARM | buildbot ARM | Raspberry Pi im Rumpers Room. |
| osx | buildbot macOS | Mac mini neben dem Drucker. |
Zugriff per SSH (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
Windows
Zugriff per Remote Desktop mit Nutzer nplab 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 möglich.
Starten
Zum Starten bzw. Neustarten gibt es das Skript start_worker.sh im github Repository https://github.com/nplab/Misc/tree/master/buildbot/bb-worker. Das führt die Befehle zum Neustarten aller Worker auf dem System aus.
sudo su buildbot cd ~/bb-worker ./start_worker.sh
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
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.
Windows
In der Remote Desktop Session von nplab für jeden Worker einmal cmd als Nutzer buildbot starten und in das buildbot Verzeichnis wechseln.
runas /savecred /user:buildbot %windir%\system32\cmd.exe cd \users\buildbot\bb-worker
Darin den Worker starten mit:
start_sctplab-usrsctp.bat
bzw.
start_msvoelker-usrsctp.bat
welche den jewiligen worker starten mit
buildbot-worker start [sctplab|msvoelker]-usrsctp
Installation
Zum Erstellen eines Workers gibt es das Skript create_worker.sh im github Repository https://github.com/nplab/Misc/tree/master/buildbot/bb-worker. Das führt die Befehle zum Erstellen aller Worker auf dem System aus.
Soll z. B. ein freebsd Worker für sctplab/usrsctp 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. Bevor ein Worker erstellt werden kann, muss das jeweilige System eingerichtet werden.
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
OpenBSD
Installation auf OpenBSD 7.2.
Benötigte Software installieren.
pkg_add buildbot-worker git automake autoconf libtool cmake bash
Um Variablen für die Versionen zu setzen, folgende Zeilen in /etc/profile hinzufügen.
export AUTOCONF_VERSION=2.69 export AUTOMAKE_VERSION=1.16
Nutzer buildbot ohne Passwort erstellen und zum Nutzer wechseln.
adduser buildbot sudo su buildbot
Worker erstellen mit WORKERNAME = openbsd
cd ~ mkdir bb-worker cd bb-worker ./create-worker.sh
NetBSD
Installation auf NetBSD 9.3.
buildbot-worker installieren
cd /usr/pkgsrc/devel/buildbot-worker make install ln /usr/pkg/bin/buildbot-worker-3.10 /usr/pkg/bin/buildbot-worker
Übrige benötigte Software installieren.
pkgin install git mozilla-rootcerts-openssl automake autoconf libtool cmake bash
Nutzer buildbot erstellen und zum Nutzer wechseln.
useradd -m -s /bin/ksh buildbot sudo su buildbot
Worker erstellen mit WORKERNAME = netbsd
cd ~ mkdir bb-worker cd bb-worker ./create-worker.sh
Windows
Software zum Bauen
Installiert werden muss git, Visual Studio Community mit dem C++ Desktop Workkit und MSYS2 64 bit mit mingw-w64.
Der Installer zu git kann über https://git-scm.com/ heruntergeladen werden.
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 buildbot-worker create-worker msvoelker-usrsctp buildbot.nplab.de:49989 windows buildbotsBuildBuilts
