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 [2022/03/22 11:11] – [Windows] 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.
  
-===== Verwaltung =====+===== Zugriff =====
  
-==== Zugriff ====+Es gibt die folgenden Worker.
  
-SSH mit Nutzer weinrank und Standard root-Passwort (ipfw Firewall auf gw-tuexen schränkt Zugriff ein, lässt SSH aber durch). Buildbot Worker laufen unter Nutzer buildbot.+^ 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   sudo su buildbot
   cd ~/bb-worker   cd ~/bb-worker
  
-==== Erstellen ====+==== Windows ====
  
-Um z. B. einen freebsd-stable Worker für sctplab/usrsctp zu erstellen:+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.
  
-  python3 -m venv venv-bs +===== Starten =====
-  source ./venv-bs/bin/activate +
-  pip install --upgrade pip +
-  pip install buildbot-worker +
-  buildbot-worker create-worker sctplab-usrsctp buildbot.nplab.de:19989 freebsd-stable buildbotsBuildBuilts+
  
-Dadurch wird ein Verzeichnis sctplab-usrsctp erstellt mit einer buildbot.tac Datei, die Einstellungen enthält.+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.
  
-==== Starten/Stoppen ====+  sudo su buildbot 
 +  cd ~/bb-worker 
 +  ./start_worker.sh
  
-Um z. B. Worker für sctplab/usrsctp zu starten/stoppen:+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 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.
 +
 +==== 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:
  
-===== Worker Systeme =====+  buildbot-worker create-worker sctplab-usrsctp buildbot.nplab.de:19989 freebsd buildbotsBuildBuilts
  
-Viele Worker laufen als VMware ESXi VM auf bsd18 (10.0.1.163) und einige auf eingener Hardware.+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 ==== ==== FreeBSD ====
  
-VM (gleiche wie für den Master) +Installation auf FreeBSD 13.1-RELEASE-p3. 
-212.201.121.110+ 
 +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 ==== ==== OpenBSD ====
  
-VM 212.201.121.118+Installation auf OpenBSD 7.2.
  
-==== NetBSD ====+Benötigte Software installieren.
  
-VM 212.201.121.113+  pkg_add buildbot-worker git automake autoconf libtool cmake bash bison
  
-==== Linux (Ubuntu) ====+Um Variablen für die Versionen zu setzen, folgende Zeilen in /etc/profile hinzufügen.
  
-VM 212.201.121.114 +  export AUTOCONF_VERSION=2.69 
 +  export AUTOMAKE_VERSION=1.16
  
-==== macOS ====+Nutzer buildbot ohne Passwort erstellen und zum Nutzer wechseln.
  
-Mac mini neben dem Drucker. 212.201.121.116+  adduser buildbot 
 +  sudo su buildbot
  
-==== Raspbian Linux (ARM) ====+Worker erstellen mit WORKERNAME = openbsd
  
-Raspberry Pi im Rumpus Room. 212.201.121.112+  cd ~ 
 +  mkdir bb-worker 
 +  cd bb-worker 
 +  ./create-worker.sh
  
-==== Windows ====+==== NetBSD ====
  
-VM 212.201.121.115 +Installation auf NetBSD 9.3.
  
-=== Zugriff ===+buildbot-worker installieren
  
-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.+  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 === === Software zum Bauen ===
  
-Installiert werden muss Visual Studio Community mit dem C++ Desktop Workkit und MSYS2 64 bit mit mingw-w64. +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. Der Visual Studio Installer kann bei Microsoft heruntergeladen werden. Bei der Installation den C++ Desktop Workkit auswählen.
Line 98: Line 213:
   pip install buildbot-worker   pip install buildbot-worker
   buildbot-worker create-worker sctplab-usrsctp buildbot.nplab.de:19989 windows buildbotsBuildBuilts   buildbot-worker create-worker sctplab-usrsctp buildbot.nplab.de:19989 windows buildbotsBuildBuilts
-   +  buildbot-worker create-worker msvoelker-usrsctp buildbot.nplab.de:49989 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 +
buildbot/worker.1647947508.txt.gz · Last modified: by msvoelker