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.

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.

runas /savecred /user:buildbot %windir%\system32\cmd.exe

Darin den Worker starten mit:

cd \users\buildbot\bb-worker
buildbot-worker start sctplab-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 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.

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