User Tools

Site Tools


buildbot:worker

This is an old revision of the document!


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
buildbot/worker.1672848626.txt.gz · Last modified: by msvoelker