====== 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 ^ [[:hosts|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. ==== macOS ==== buildbot-worker wurde in einer python Umgebung unter ~/bb-worker installiert. Bevor das Programm ausgeführt werden kann, muss die Umgebung initialisiert werden mit source ./venv/bin/activate ==== 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 bison 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 [[https://www.msys2.org|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