Server Installation/buildbot
Aus Opennet
Software zum Betrieb von Opennet DEV Umgebung (Hilfsmittel für Entwickler).
Inhaltsverzeichnis |
Installation/Konfiguration
Buildbot steht aus zwei Teilen. Der Controller (auch Master genannt) hält die Konfiguration und koordiniert die Arbeit und der Worker übernimmt bestimmte Arbeiten vom Controller.
Die Installation und Konfiguration von Controller und Worker sind im ansible Repository (https://github.com/opennet-initiative/ansible) zu finden.
Betrieb
- Weboberflaeche ist erreichbar über https://dev.opennet-initiative.de/
Fehlersuche
Controller
Ist der Controller erfolgreich gestartet?
- Prüfe Erreichbarkeit von https://dev.opennet-initiative.de/#/workers
- Prüfe `systemctl status buildbot-worker@opennet`
- Prüfe, ob Prozess läuft `ps -ef | grep buildbot`.
- Prüfe Log unter /var/lib/buildbot/controllers/opennet/twistd.log
Worker
Ist der Worker mit dem Controller verbunden?
- Prüfe unter https://dev.opennet-initiative.de/#/workers (wobei Server/goat hier der Controller ist)
Was kann man prüfen, wenn der Worker sich anscheinend nicht mit dem Controller verbinden?
- Prüfe auf Worker
systemctl status buildbot-worker@on_worker1
- Prüfe, ob Prozess läuft
ps -ef | grep buildbot-worker
. - Prüfe auf Worker Log unter
/var/lib/buildbot/workers/on_worker1/twistd.log
Wie kann ich manuell Builds auf hoshino starten (zum Debuggen)?
- Pausiere die Tätigkeiten des Workers. Hierzu auf die Worker Übersicht gehen (https://dev.opennet-initiative.de/#/workers). Wenn man hier als 'admin' eingeloggt ist, sieht man oben rechts den Button 'Actions...'. Dort 'on_worker1' auswählen und auf 'Pause' klicken.
- Nun können wir uns mit SSH über root auf hoshino anmelden
- Als Nächstes ist es ratsam in die Rolle des Benutzers buildbot zu wechseln:
su buildbot -s /bin/bash
. Andernfalls kann es später passieren, dass von root erstellte Dateien vom Buildbot User nicht geändert/gelöscht werden können während des Build-Prozesses. - In
/var/lib/buildbot/workers/hoshino/opennet-builder/build/
finde wir die ausgecheckte Firmware. Hier können wir nun beliebig debuggen. - Wenn wir fertig sind, müssen wir dem Worker ein 'Unpause' schicken - siehe erster Schritt.