Server Installation/trac: Unterschied zwischen den Versionen
Aus Opennet
(→Konfiguration) |
(→Betrieb: delaycompress für Logrotate nach Analyse auf DEV-Liste) |
||
(54 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Software zum Betrieb von | + | Software zum Betrieb von [[Opennet DEV]] trac Umgebung (Hilfsmittel für Entwickler). |
− | + | == Installation == | |
* Installation trac (incl. subversion) | * Installation trac (incl. subversion) | ||
* Installation trac-git (git Plugin) | * Installation trac-git (git Plugin) | ||
+ | * Installation trac-bitten trac-bitten-slave (Continuous Integration) | ||
+ | * Installation trac-announcer (Benachrichtigungssystem) | ||
+ | * Installation trac-xmlrpc (Externe Schnittstelle) | ||
* Installation libapache2-mod-wsgi (Apache Modul) | * Installation libapache2-mod-wsgi (Apache Modul) | ||
* Vorbereitung Verzeichnisse: ''mkdir /var/www/trac | * Vorbereitung Verzeichnisse: ''mkdir /var/www/trac | ||
− | + | == Konfiguration == | |
* Anlegen einer neuen Projektumgebung: | * Anlegen einer neuen Projektumgebung: | ||
Zeile 20: | Zeile 23: | ||
* Konfiguration der Projektumgebung in ''/var/www/trac/conf/trac.ini'' | * Konfiguration der Projektumgebung in ''/var/www/trac/conf/trac.ini'' | ||
[components] | [components] | ||
− | webadmin.* = enabled | + | #webadmin.* = enabled |
− | tracext.git.* = enabled | + | #tracext.git.* = enabled |
− | [ | + | bitten.* = enabled |
− | always_notify_owner = | + | announcer.* = enabled |
− | always_notify_reporter = | + | #tracrpc.* = enabled |
+ | [notification] | ||
+ | always_notify_owner = false | ||
+ | always_notify_reporter = false | ||
+ | always_notify_updater = false | ||
email_sender = SendmailEmailSender | email_sender = SendmailEmailSender | ||
sendmail_path = /usr/sbin/sendmail | sendmail_path = /usr/sbin/sendmail | ||
Zeile 43: | Zeile 50: | ||
link = / | link = / | ||
src = site/Opennet_logo_quer.gif | src = site/Opennet_logo_quer.gif | ||
+ | [timeline] | ||
+ | ticket_show_details = true | ||
[trac] | [trac] | ||
base_url = https://dev.opennet-initiative.de/ | base_url = https://dev.opennet-initiative.de/ | ||
[wiki] | [wiki] | ||
ignore_missing_pages = true | ignore_missing_pages = true | ||
+ | [announcer] | ||
+ | email_enabled = true | ||
+ | use_threaded_delivery = true | ||
+ | always_notify_owner = true | ||
+ | always_notify_reporter = true | ||
+ | always_notify_updater = true | ||
+ | always_notify_cc = true | ||
+ | always_notify_component_owner = true | ||
+ | email_from = dev@opennet-initiative.de | ||
+ | email_from_name = Opennet Development | ||
+ | email_to = dev | ||
+ | email_replyto = | ||
+ | email_address_resolvers = SpecifiedEmailResolver, SessionEmailResolver | ||
+ | email_subject_prefix = Opennet DEV- | ||
+ | [git] | ||
+ | cached_repository = true | ||
+ | persistent_cache = true | ||
* Admin Nutzer für Projektumgebung: | * Admin Nutzer für Projektumgebung: | ||
Zeile 54: | Zeile 80: | ||
* Einbindung in Apache Webserver: | * Einbindung in Apache Webserver: | ||
+ | # robots | ||
+ | Alias /robots.txt /var/www/htdocs/dev.opennet-initiative.de/robots.txt | ||
+ | # trac | ||
WSGIScriptAlias /trac /var/www/trac/cgi-bin/trac.wsgi | WSGIScriptAlias /trac /var/www/trac/cgi-bin/trac.wsgi | ||
Alias /trac/chrome/ /var/www/trac/htdocs/ | Alias /trac/chrome/ /var/www/trac/htdocs/ | ||
Zeile 73: | Zeile 102: | ||
SSLUserName SSL_CLIENT_S_DN_CN | SSLUserName SSL_CLIENT_S_DN_CN | ||
# allow specific cert CN | # allow specific cert CN | ||
− | SSLRequire %{SSL_CLIENT_S_DN_CN} in {"<adminname1>.client.on","<adminname2>.client.on"} | + | #check disabled, rights granted inside trac - mathias mahnke 2014/04/26 |
+ | #SSLRequire %{SSL_CLIENT_S_DN_CN} in {"<adminname1>.client.on","<adminname2>.client.on"} | ||
# client cert error handling | # client cert error handling | ||
RewriteEngine on | RewriteEngine on | ||
Zeile 82: | Zeile 112: | ||
* Anlegen eines Git Repositories: | * Anlegen eines Git Repositories: | ||
− | mkdir /var/git/<on_projectname> | + | mkdir /var/git/repositories/<on_projectname> |
− | cd /var/git/<on_projectname> | + | cd /var/git/repositories/<on_projectname> |
git --bare init | git --bare init | ||
git update-server-info | git update-server-info | ||
Zeile 91: | Zeile 121: | ||
* nun via Trac Admin Webinterface in Projektumgebung einbinden sowie: | * nun via Trac Admin Webinterface in Projektumgebung einbinden sowie: | ||
trac-admin /var/www/trac/ changeset added "<on_projectname>" | trac-admin /var/www/trac/ changeset added "<on_projectname>" | ||
− | echo "exec trac-admin /var/www/trac/ changeset added \"<on_projectname>\"" >> /var/git/<on_projectname>/hooks/post-update | + | echo "exec trac-admin /var/www/trac/ changeset added \"<on_projectname>\"" >> /var/git/repositories/<on_projectname>/hooks/post-update |
* sonstige Trac Nacharbeiten: | * sonstige Trac Nacharbeiten: | ||
** Berechtigungen TICKET_CREATE u. TICKET_APPEND für Anonymous erlauben | ** Berechtigungen TICKET_CREATE u. TICKET_APPEND für Anonymous erlauben | ||
+ | ** Berechtigungen TICKET_EDIT_COMMENT u. TICKET_MODIFY für Ticket-Verwalter erlauben | ||
+ | ** Berechtigungen BUILD_ADMIN, MILESTONE_ADMIN, PERMISSION_ADMIN, REPORT_ADMIN, TICKET_ADMIN für weitere Administratoren setzen | ||
** Site Logo setzen, Wiki Startseite bearbeiten | ** Site Logo setzen, Wiki Startseite bearbeiten | ||
− | === Betrieb === | + | * Anlegen einer Gitolite Umgebung siehe [[Server Installation/gitolite]] |
+ | |||
+ | * Einbinden von Bitten u. Trac-Announcer, Projektumgebung aktualisieren: | ||
+ | trac-admin /var/www/trac/ upgrade | ||
+ | trac-admin /var/www/trac wiki upgrade | ||
+ | trac-admin /var/www/trac/ deploy /tmp/trac | ||
+ | cp -R /tmp/trac/* /var/www/trac/ | ||
+ | chown -R www-data:www-data /var/www/trac/ | ||
+ | ln -s /usr/share/javascript/flot/jquery.flot.js /var/www/trac/htdocs/bitten/ | ||
+ | ln -s /usr/share/javascript/excanvas/excanvas.js /var/www/trac/htdocs/bitten/ | ||
+ | |||
+ | * Einbindung von Bitten, Repository Alias "(default") setzen sowie Rechte BUILD_ADMIN an Nutzer und BUILD_VIEW an Anonymous nach Bedarf vergeben | ||
+ | |||
+ | * trac-bitten-slave als Deamon (auf separatem Build Server): | ||
+ | mkdir /home/trac-bitten-slave | ||
+ | useradd --home-dir /home/trac-bitten-slave --comment "bitten service user" --system --shell /bin/false trac-bitten-slave | ||
+ | chown -R trac-bitten-slave: /home/trac-bitten-slave | ||
+ | cp /usr/share/doc/trac-bitten-slave/examples/trac-bitten-slave.default /etc/default/trac-bitten-slave | ||
+ | cp /usr/share/doc/trac-bitten-slave/examples/trac-bitten-slave.init /etc/init.d/trac-bitten-slave | ||
+ | chmod +x /etc/init.d/trac-bitten-slave | ||
+ | cat >>/etc/default/trac-bitten-slave <<-EOF | ||
+ | DAEMON_ARGS="--work-dir=/home/trac-bitten-slave/build --build-dir=/home/trac-bitten-slave/build --keep-files --log=/home/trac-bitten-slave/log/bitten-slave.log" | ||
+ | URLS="https://dev.opennet-initiative.de/builds" | ||
+ | EOF | ||
+ | update-rc.d trac-bitten-slave defaults | ||
+ | |||
+ | == Betrieb == | ||
+ | === Allgemenes === | ||
+ | |||
+ | * Nutzer anlegen: Anmeldung erfolgt über [[Opennet CA]] Zertifikate der Client Sub-CA. Rechtevergabe per ''trac-admin''. | ||
+ | * Repository anlegen: Git anlegen siehe [[Server Installation/gitolite]], Einbindung per Trac Webadmin GUI sowie Veröffentlichung via Apache Config vornehmen. | ||
+ | * Bitten-Slave ausführen: ''bitten-slave https://dev.opennet-initiative.de/builds -vv --work-dir=. --build-dir=. --keep-files'' | ||
+ | * Die Build-Recipes können im trac über den Tab "Admin" - "Build, Configurations" ausgewählt werden. Um den Punkt "Build, Configurations" zu sehen, muss man entsprechende Admin-Rechte im trac haben/bekommen. | ||
+ | |||
+ | Build-Recipe "on_firmware.ar71xx" for continuous builds: | ||
+ | <pre> | ||
+ | <build description="Build system" | ||
+ | xmlns:sh="http://bitten.edgewall.org/tools/sh" | ||
+ | xmlns:c="http://bitten.edgewall.org/tools/c" | ||
+ | > | ||
+ | <step id="Checkout"> | ||
+ | <sh:exec file="git" dir="on_firmware" args="pull" /> | ||
+ | </step> | ||
+ | <step id="Init"> | ||
+ | <c:make target="init" file="on_firmware/Makefile" directory="on_firmware" args="" /> | ||
+ | </step> | ||
+ | <step id="Make"> | ||
+ | <c:make target="ar71xx" file="on_firmware/Makefile" directory="on_firmware" args="V=s" /> | ||
+ | </step> | ||
+ | </build> | ||
+ | </pre> | ||
+ | |||
+ | Build-Recipe "on_firmware.ar71xx-clean" | ||
+ | <pre> | ||
+ | <build description="Build system" | ||
+ | xmlns:sh="http://bitten.edgewall.org/tools/sh" | ||
+ | xmlns:c="http://bitten.edgewall.org/tools/c" | ||
+ | > | ||
+ | <step id="Clean"> | ||
+ | <sh:exec file="rm" args="-rf on_firmware" /> | ||
+ | </step> | ||
+ | <step id="Checkout"> | ||
+ | <sh:exec file="git" args="clone https://dev.opennet-initiative.de/git/on_firmware" /> | ||
+ | </step> | ||
+ | <step id="Init"> | ||
+ | <c:make target="init" file="on_firmware/Makefile" directory="on_firmware" args="" /> | ||
+ | </step> | ||
+ | <step id="Make-ar71xx"> | ||
+ | <c:make target="ar71xx" file="on_firmware/Makefile" directory="on_firmware" args="V=s" /> | ||
+ | </step> | ||
+ | </build> | ||
+ | </pre> | ||
+ | |||
+ | Logrotate trac-bitten-slave: | ||
+ | <pre> | ||
+ | /home/trac-bitten-slave/log/*.log { | ||
+ | rotate 10 | ||
+ | weekly | ||
+ | compress | ||
+ | delaycompress | ||
+ | missingok | ||
+ | notifempty | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | === Build erneut auslösen === | ||
+ | * beim Experimentieren mit einer Build-Konfiguration ist es manchmal sinnvoll, einen Build erneut durchzuführen | ||
+ | * das pushen eines neuen Commits zum Triggern des Auto-Builders ist mit einiger Verzögerung verbunden | ||
+ | * verzögerungsfreie Alternative: den Build anklicken und ''Invalidate Build'' zu wählen | ||
+ | * kurz darauf wird der Build-Vorgang auf dem Slave erneut ausgeführt | ||
+ | |||
+ | === Buildumgebung neu initialisieren === | ||
+ | Es kann bei größeren Commits vorkommen, dass das Bauen der Firmware nach einem "git pull" Fehler hervorbringt. Typischerweise passiert das, wenn eines der Git Submodule aktualisiert wurde (z.B. OpenWrt). An dieser Stelle muss ein komplett neuer Build angestoßen werden. Mit trac-bitten muss folgendes durchgeführt werden: | ||
+ | * build clean - dafür nur "on_firmware.clean" auswählen und warten bis slave Recipe ausgeführt hat. Die Option "on_firmware.clean" ist nur zugänglich, wenn der Nutzer in der trac-admin Gruppe ist. Dann gibt es auf der Trac-Webseite einen Menüpunkt "Admin". Auf der nächsten Seite "Configurations" auswählen und nun ist auch "on_firmware.clean" auswählbar. | ||
+ | * den bestehenden, bisher fehlerhaften Build, invalidieren (Tab "Build Status" -> dort auf den Build klicken -> "Invalidate build" klicken). Und zusätzlich die Auswahl der Recipes wieder auf Ausgangslage zurücksetzen, sodass "clean" nicht aktiviert ist. | ||
+ | Jetzt sollte automatisch der Slave beginnen alles neu zu bauen. | ||
+ | |||
+ | == Fehlersuche == | ||
+ | === trac-Interface reagiert nicht / hunderte git-Prozesse === | ||
+ | * Wenn in einer Build-Konfiguration keine Zielplattform (z.B. ''name ~= minato#') angegeben ist, dann hängt das bitten-Plugin. | ||
+ | * Gleichzeitig werden hunderte git-Prozesse gestartet, die kein Ende finden. | ||
− | * | + | === Logfile === |
− | * | + | * das trac Logfile befindet sich unter ''/var/www/trac/log/trac.log'' (Dev-Server) |
+ | * das bitten-slave Logfile findet sich unter ''/home/trac-bitten-slave/log/bitten-slave.log'' (Build-Server) | ||
+ | * unser Loglevel steht standardmäßig auf WARNING, muss ggf. erhöht werden | ||
[[Kategorie:Server]] | [[Kategorie:Server]] |
Aktuelle Version vom 23. Februar 2022, 21:37 Uhr
Software zum Betrieb von Opennet DEV trac Umgebung (Hilfsmittel für Entwickler).
Inhaltsverzeichnis |
[Bearbeiten] Installation
- Installation trac (incl. subversion)
- Installation trac-git (git Plugin)
- Installation trac-bitten trac-bitten-slave (Continuous Integration)
- Installation trac-announcer (Benachrichtigungssystem)
- Installation trac-xmlrpc (Externe Schnittstelle)
- Installation libapache2-mod-wsgi (Apache Modul)
- Vorbereitung Verzeichnisse: mkdir /var/www/trac
[Bearbeiten] Konfiguration
- Anlegen einer neuen Projektumgebung:
trac-admin /var/www/trac/ initenv Project name [My Project]> Opennet Development Database connection string [sqlite:db/trac.db]> trac-admin /var/www/trac/ deploy /tmp/trac mv /tmp/trac/* /var/www/trac/ chown -R www-data:www-data /var/www/trac/
- Konfiguration der Projektumgebung in /var/www/trac/conf/trac.ini
[components] #webadmin.* = enabled #tracext.git.* = enabled bitten.* = enabled announcer.* = enabled #tracrpc.* = enabled [notification] always_notify_owner = false always_notify_reporter = false always_notify_updater = false email_sender = SendmailEmailSender sendmail_path = /usr/sbin/sendmail smtp_enabled = true smtp_from = dev@opennet-initiative.de smtp_from_name = Opennet Development smtp_replyto = admin@opennet-initiative.de [project] descr = Opennet Development footer = <a href="https://www.opennet-iniative.de/">Opennet Initiative e.V.</a> icon = site/favicon.ico url = https://dev.opennet-initiative.de [ticket] default_component = on_test default_type = task [header_logo] alt = Opennet Development link = / src = site/Opennet_logo_quer.gif [timeline] ticket_show_details = true [trac] base_url = https://dev.opennet-initiative.de/ [wiki] ignore_missing_pages = true [announcer] email_enabled = true use_threaded_delivery = true always_notify_owner = true always_notify_reporter = true always_notify_updater = true always_notify_cc = true always_notify_component_owner = true email_from = dev@opennet-initiative.de email_from_name = Opennet Development email_to = dev email_replyto = email_address_resolvers = SpecifiedEmailResolver, SessionEmailResolver email_subject_prefix = Opennet DEV- [git] cached_repository = true persistent_cache = true
- Admin Nutzer für Projektumgebung:
trac-admin /var/www/trac/ > permission add <adminname>.client.on TRAC_ADMIN > exit
- Einbindung in Apache Webserver:
# robots Alias /robots.txt /var/www/htdocs/dev.opennet-initiative.de/robots.txt # trac WSGIScriptAlias /trac /var/www/trac/cgi-bin/trac.wsgi Alias /trac/chrome/ /var/www/trac/htdocs/ <Directory /var/www/trac/cgi-bin/trac.wsgi> WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory>
- Login in Apache Webserver (HTTP als HTTPS-Redirect)
Redirect permanent /login https://dev.opennet-initiative.de/login
- Login in Apache Webserver (HTTPS mit Client-Zertifikat)
<Location "/login"> # client cert auth SSLVerifyClient optional SSLVerifyDepth 3 # forward auth to cgi SSLUserName SSL_CLIENT_S_DN_CN # allow specific cert CN #check disabled, rights granted inside trac - mathias mahnke 2014/04/26 #SSLRequire %{SSL_CLIENT_S_DN_CN} in {"<adminname1>.client.on","<adminname2>.client.on"} # client cert error handling RewriteEngine on RewriteCond %{SSL:SSL_CLIENT_VERIFY} !=SUCCESS RewriteRule .? - [F] ErrorDocument 403 "You need a certificate issued by Opennet Client Sub-CA to access this site." </Location>
- Anlegen eines Git Repositories:
mkdir /var/git/repositories/<on_projectname> cd /var/git/repositories/<on_projectname> git --bare init git update-server-info cd hooks mv post-update.sample post-update
- nun via Trac Admin Webinterface in Projektumgebung einbinden sowie:
trac-admin /var/www/trac/ changeset added "<on_projectname>" echo "exec trac-admin /var/www/trac/ changeset added \"<on_projectname>\"" >> /var/git/repositories/<on_projectname>/hooks/post-update
- sonstige Trac Nacharbeiten:
- Berechtigungen TICKET_CREATE u. TICKET_APPEND für Anonymous erlauben
- Berechtigungen TICKET_EDIT_COMMENT u. TICKET_MODIFY für Ticket-Verwalter erlauben
- Berechtigungen BUILD_ADMIN, MILESTONE_ADMIN, PERMISSION_ADMIN, REPORT_ADMIN, TICKET_ADMIN für weitere Administratoren setzen
- Site Logo setzen, Wiki Startseite bearbeiten
- Anlegen einer Gitolite Umgebung siehe Server Installation/gitolite
- Einbinden von Bitten u. Trac-Announcer, Projektumgebung aktualisieren:
trac-admin /var/www/trac/ upgrade trac-admin /var/www/trac wiki upgrade trac-admin /var/www/trac/ deploy /tmp/trac cp -R /tmp/trac/* /var/www/trac/ chown -R www-data:www-data /var/www/trac/ ln -s /usr/share/javascript/flot/jquery.flot.js /var/www/trac/htdocs/bitten/ ln -s /usr/share/javascript/excanvas/excanvas.js /var/www/trac/htdocs/bitten/
- Einbindung von Bitten, Repository Alias "(default") setzen sowie Rechte BUILD_ADMIN an Nutzer und BUILD_VIEW an Anonymous nach Bedarf vergeben
- trac-bitten-slave als Deamon (auf separatem Build Server):
mkdir /home/trac-bitten-slave useradd --home-dir /home/trac-bitten-slave --comment "bitten service user" --system --shell /bin/false trac-bitten-slave chown -R trac-bitten-slave: /home/trac-bitten-slave cp /usr/share/doc/trac-bitten-slave/examples/trac-bitten-slave.default /etc/default/trac-bitten-slave cp /usr/share/doc/trac-bitten-slave/examples/trac-bitten-slave.init /etc/init.d/trac-bitten-slave chmod +x /etc/init.d/trac-bitten-slave cat >>/etc/default/trac-bitten-slave <<-EOF DAEMON_ARGS="--work-dir=/home/trac-bitten-slave/build --build-dir=/home/trac-bitten-slave/build --keep-files --log=/home/trac-bitten-slave/log/bitten-slave.log" URLS="https://dev.opennet-initiative.de/builds" EOF update-rc.d trac-bitten-slave defaults
[Bearbeiten] Betrieb
[Bearbeiten] Allgemenes
- Nutzer anlegen: Anmeldung erfolgt über Opennet CA Zertifikate der Client Sub-CA. Rechtevergabe per trac-admin.
- Repository anlegen: Git anlegen siehe Server Installation/gitolite, Einbindung per Trac Webadmin GUI sowie Veröffentlichung via Apache Config vornehmen.
- Bitten-Slave ausführen: bitten-slave https://dev.opennet-initiative.de/builds -vv --work-dir=. --build-dir=. --keep-files
- Die Build-Recipes können im trac über den Tab "Admin" - "Build, Configurations" ausgewählt werden. Um den Punkt "Build, Configurations" zu sehen, muss man entsprechende Admin-Rechte im trac haben/bekommen.
Build-Recipe "on_firmware.ar71xx" for continuous builds:
<build description="Build system" xmlns:sh="http://bitten.edgewall.org/tools/sh" xmlns:c="http://bitten.edgewall.org/tools/c" > <step id="Checkout"> <sh:exec file="git" dir="on_firmware" args="pull" /> </step> <step id="Init"> <c:make target="init" file="on_firmware/Makefile" directory="on_firmware" args="" /> </step> <step id="Make"> <c:make target="ar71xx" file="on_firmware/Makefile" directory="on_firmware" args="V=s" /> </step> </build>
Build-Recipe "on_firmware.ar71xx-clean"
<build description="Build system" xmlns:sh="http://bitten.edgewall.org/tools/sh" xmlns:c="http://bitten.edgewall.org/tools/c" > <step id="Clean"> <sh:exec file="rm" args="-rf on_firmware" /> </step> <step id="Checkout"> <sh:exec file="git" args="clone https://dev.opennet-initiative.de/git/on_firmware" /> </step> <step id="Init"> <c:make target="init" file="on_firmware/Makefile" directory="on_firmware" args="" /> </step> <step id="Make-ar71xx"> <c:make target="ar71xx" file="on_firmware/Makefile" directory="on_firmware" args="V=s" /> </step> </build>
Logrotate trac-bitten-slave:
/home/trac-bitten-slave/log/*.log { rotate 10 weekly compress delaycompress missingok notifempty }
[Bearbeiten] Build erneut auslösen
- beim Experimentieren mit einer Build-Konfiguration ist es manchmal sinnvoll, einen Build erneut durchzuführen
- das pushen eines neuen Commits zum Triggern des Auto-Builders ist mit einiger Verzögerung verbunden
- verzögerungsfreie Alternative: den Build anklicken und Invalidate Build zu wählen
- kurz darauf wird der Build-Vorgang auf dem Slave erneut ausgeführt
[Bearbeiten] Buildumgebung neu initialisieren
Es kann bei größeren Commits vorkommen, dass das Bauen der Firmware nach einem "git pull" Fehler hervorbringt. Typischerweise passiert das, wenn eines der Git Submodule aktualisiert wurde (z.B. OpenWrt). An dieser Stelle muss ein komplett neuer Build angestoßen werden. Mit trac-bitten muss folgendes durchgeführt werden:
- build clean - dafür nur "on_firmware.clean" auswählen und warten bis slave Recipe ausgeführt hat. Die Option "on_firmware.clean" ist nur zugänglich, wenn der Nutzer in der trac-admin Gruppe ist. Dann gibt es auf der Trac-Webseite einen Menüpunkt "Admin". Auf der nächsten Seite "Configurations" auswählen und nun ist auch "on_firmware.clean" auswählbar.
- den bestehenden, bisher fehlerhaften Build, invalidieren (Tab "Build Status" -> dort auf den Build klicken -> "Invalidate build" klicken). Und zusätzlich die Auswahl der Recipes wieder auf Ausgangslage zurücksetzen, sodass "clean" nicht aktiviert ist.
Jetzt sollte automatisch der Slave beginnen alles neu zu bauen.
[Bearbeiten] Fehlersuche
[Bearbeiten] trac-Interface reagiert nicht / hunderte git-Prozesse
- Wenn in einer Build-Konfiguration keine Zielplattform (z.B. name ~= minato#') angegeben ist, dann hängt das bitten-Plugin.
- Gleichzeitig werden hunderte git-Prozesse gestartet, die kein Ende finden.
[Bearbeiten] Logfile
- das trac Logfile befindet sich unter /var/www/trac/log/trac.log (Dev-Server)
- das bitten-slave Logfile findet sich unter /home/trac-bitten-slave/log/bitten-slave.log (Build-Server)
- unser Loglevel steht standardmäßig auf WARNING, muss ggf. erhöht werden