User Tools

Site Tools


buildbot:worker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
buildbot:worker [2023/01/04 16:10] – msvoelkerbuildbot:worker [2023/06/22 11:01] (current) – msvoelker
Line 3: Line 3:
 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. 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 =====+===== Zugriff =====
  
-Dateien, wie z. B. Skripte finden sich hier: [[https://github.com/nplab/Misc/tree/master/buildbot/bb-worker]]+Es gibt die folgenden Worker.
  
-==== Zugriff ====+^ 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. |
  
-SSH Zugriff (ipfw Firewall auf gw-tuexen schränkt Zugriff ein, lässt SSH aber durch). Buildbot Worker laufen unter Nutzer buildbot.+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   sudo su buildbot
   cd ~/bb-worker   cd ~/bb-worker
  
-==== Erstellen ====+==== Windows ====
  
-Zum Erstellen der Worker gibt es das Skript create_worker.sh. Das führt die Befehle zum Erstellen des Workers aus.+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.
  
-Soll z. B. ein freebsd Worker für sctplab/usrsctp zu erstellt werden, ist das der Folgende:+===== Starten =====
  
-  buildbot-worker create-worker sctplab-usrsctp buildbot.nplab.de:19989 freebsd buildbotsBuildBuilts+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.
  
-Dadurch wird ein Verzeichnis sctplab-usrsctp erstellt mit einer buildbot.tac Datei, die Einstellungen enthält. +  sudo su buildbot 
- +  cd ~/bb-worker 
-==== Starten ==== +  ./start_worker.sh
- +
-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: Um z. B. einen Worker für sctplab/usrsctp neu zu starten, sind das die Folgenden:
Line 32: Line 37:
   buildbot@buildbot:~/bb-worker % buildbot-worker stop sctplab-usrsctp   buildbot@buildbot:~/bb-worker % buildbot-worker stop sctplab-usrsctp
   buildbot@buildbot:~/bb-worker % buildbot-worker start 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.
  
-===== Worker Systeme =====+==== macOS ====
  
-Einige Worker laufen als bhyve VM und einige auf eigener Hardware.+buildbot-worker wurde in einer python Umgebung unter ~/bb-worker installiert. Bevor das Programm ausgeführt werden kann, muss die Umgebung initialisiert werden mit
  
-==== FreeBSD ====+  source ./venv/bin/activate
  
-VM (gleiche wie für den Master)+==== Windows ====
  
-==== OpenBSD ====+In der Remote Desktop Session von nplab für jeden Worker einmal cmd als Nutzer buildbot starten und in das buildbot Verzeichnis wechseln.
  
-VM 212.201.121.118+  runas /savecred /user:buildbot %windir%\system32\cmd.exe 
 +  cd \users\buildbot\bb-worker
  
-==== NetBSD ====+Darin den Worker starten mit:
  
-VM 212.201.121.113+  start_sctplab-usrsctp.bat
  
-==== Linux (Ubuntu) ====+bzw.
  
-VM 212.201.121.114 +  start_msvoelker-usrsctp.bat
  
-==== macOS ====+welche den jewiligen worker starten mit
  
-Mac mini neben dem Drucker. 212.201.121.116+  buildbot-worker start [sctplab|msvoelker]-usrsctp
  
-==== Raspbian Linux (ARM) ====+===== Installation =====
  
-Raspberry Pi im Rumpus Room. 212.201.121.112+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.
  
-==== Windows ====+Soll z. B. ein freebsd Worker für sctplab/usrsctp erstellt werden, ist das der Folgende:
  
-VM 212.201.121.115 +  buildbot-worker create-worker sctplab-usrsctp buildbot.nplab.de:19989 freebsd buildbotsBuildBuilts
  
-=== Zugriff ===+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.
  
-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.+==== FreeBSD ====
  
-=== Software zum Bauen ===+Installation auf FreeBSD 13.1-RELEASE-p3.
  
-Installiert werden muss Visual Studio Community mit dem C++ Desktop Workkit und MSYS2 64 bit mit mingw-w64. +Benötigte Software installieren.
  
-Der Visual Studio Installer kann bei Microsoft heruntergeladen werden. Bei der Installation den C++ Desktop Workkit auswählen.+  pkg install py39-buildbot-worker automake autotools cmake valgrind bash git python bison
  
-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.+Wechseln als buildbot Nutzer.
  
-  pacman -Syuu +  sudo su buildbot
-  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 ===+Soft Link zum bb-worker Verzeichnis im github Repository erstellen (siehe Installation master).
  
-Python 32 Bit installieren.+  cd ~ 
 +  ln -s Misc/buildbot/bb-worker bb-worker
  
-cmd als Nutzer buildbot starten (z. B. als Verknüpfung auf dem Desktop).+Worker erstellen mit WORKERNAME=freebsd
  
-  runas /savecred /user:buildbot %windir%\system32\cmd.exe+  ./create-worker.sh
  
-Darin folgende Befehle ausführen:+coverity installieren.
  
-  cd \users\buildbot\bb-worker +  cd ~ 
-  python -m venv venv-bs +  fetch https://.../cov-analysis-freebsd64-2022.06.tar.gz 
-  pip install --upgrade pip +  tar xzf cov-analysis-freebsd64-2022.06.tar.gz  
-  pip install pywin32 +  mv cov-analysis-freebsd64-2022.6.0 cov-analysis
-  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. +==== Ubuntu ====
  
-  runas /savecred /user:buildbot %windir%\system32\cmd.exe+Installation auf Ubuntu 22.04.1 LTS.
  
-Darin den Worker starten mit:+Nutzer buildbot erstellen.
  
-  cd \users\buildbot\bb-worker +  adduser --disabled-password buildbot
-  buildbot-worker start sctplab-usrsctp +
-   +
-===== Worker installieren ===== +
-==== FreeBSD ====+
  
-Installation auf FreeBSD 13.1-RELEASE-p3.+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. Benötigte Software installieren.
  
-    pkg install py39-buildbot-worker automake autotools cmake valgrind bash git python bison+  pkg_add buildbot-worker git automake autoconf libtool cmake bash bison
  
-Wechseln als buildbot Nutzer.+Um Variablen für die Versionen zu setzen, folgende Zeilen in /etc/profile hinzufügen.
  
-    sudo su buildbot+  export AUTOCONF_VERSION=2.69 
 +  export AUTOMAKE_VERSION=1.16
  
-Soft Link zum bb-worker Verzeichnis im github Repository erstellen (siehe Installation master).+Nutzer buildbot ohne Passwort erstellen und zum Nutzer wechseln.
  
-    cd ~ +  adduser buildbot 
-    ln -s Misc/buildbot/bb-worker bb-worker+  sudo su buildbot
  
-Worker erstellen mit WORKERNAME=freebsd+Worker erstellen mit WORKERNAME = openbsd
  
-    ./create-worker.sh+  cd ~ 
 +  mkdir bb-worker 
 +  cd bb-worker 
 +  ./create-worker.sh
  
-coverity installieren.+==== NetBSD ====
  
-    cd ~ +Installation auf NetBSD 9.3.
-    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 ====+buildbot-worker installieren
  
-Installation auf Ubuntu 22.04.1 LTS.+  cd /usr/pkgsrc/devel/buildbot-worker 
 +  make install 
 +  ln /usr/pkg/bin/buildbot-worker-3.10 /usr/pkg/bin/buildbot-worker 
  
-Nutzer buildbot erstellen.+Übrige benötigte Software installieren.
  
-    adduser --disabled-password buildbot+  pkgin install git mozilla-rootcerts-openssl automake autoconf libtool cmake bash
  
-Pakete aktualisieren und benötigte Software installieren+Nutzer buildbot erstellen und zum Nutzer wechseln.
  
-    apt update +  useradd -m -s /bin/ksh buildbot 
-    apt upgrade +  sudo su buildbot
-    apt install git buildbot-worker autotools-dev libtool-bin make cmake libsctp-dev bison flex python3 cppcheck+
  
-Zum Nutzer buildbot wechseln.+Worker erstellen mit WORKERNAME = netbsd
  
-    sudo su buildbot+  cd ~ 
 +  mkdir bb-worker 
 +  cd bb-worker 
 +  ./create-worker.sh
  
-Buildbot Worker erstellen mit WORKERNAME = ubuntu.+==== Windows ====
  
-    cd ~ +=== Software zum Bauen ===
-    mkdir bb-worker +
-    cd bb-worker +
-    ./create-worker.sh+
  
 +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
buildbot/worker.1672848626.txt.gz · Last modified: by msvoelker