Buildbot (löpande integration)

From Stellarium Wiki
Revision as of 20:40, 21 October 2013 by Lakrits (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Löpande integration

Vi använder byggroboten Buildbot för löpande integration av kod (CI). Buildbot är ett system för löpande integration utvecklat för att automatisera bygg- och testcykeln. Genom att automatiskt bygga om och testa projektträdet varje gång något ändras, kan eventuella byggproblem identifieras snabbt, innan andra utvecklare hinner påverkas av dem. Det här gäller i synnerhet flerplattformsprojekt som Stellarium.

Stellariums byggrobot, BuildMaster (som FSF France vänligt nog hyser på sina servrar), är den centrala tjänst som samlar ihop alla byggresultat från de olika byggarna, s.k. byggslavar på byggrobotjargong. Den söker i vår huvudkällkoddatabas efter ändringar och instruerar alla byggslavar att bygga om.

Vi behöver frivilliga som kan agera värdar för dessa byggslavar – och du kan hjälpa Stellarium-projektet genom att köra en, du också! Så här gör du:

Byggslav

Allrahelst skall en byggslav ligga på en dator/server som alltid är påslagen, men det är inget absolut krav. Så här konfigurerar du en byggslav:

Först och främst måste ditt system uppfylla kompileringskraven. Följ instruktionerna på en av följande sidor:

Installera Buildbots byggslavsprogramvara (instruktioner: Linux/Mac OS X, Windows). Den kanske redan finns tillgänglig som ett paket och om det är version 0.8.7 eller högre kan du använda den, annars måste du bygga byggslaven från källkoden genom att följa de installationsinstruktioner som finns tillgängliga.

Hämta autentiseringsuppgifter för BuildMaster från H__ på irc freenode:#stellarium eller e-posta till Stellariums e-postlista och konfigurera därefter byggslaven genom att ange användarnamn och lösenord:

buildslave create-slave buildslave gcc10.fsffrance.org:9989 ditt_användarnamn ditt_lösenord

Redigera filerna  buildslave/info/admin  och  buildslave/info/host. Filen admin innehåller byggslavens underhållsansvarigas namn och e-postadress (du, med andra ord) och filen host har relevant information om din dator, exempelvis:

Stellarium buildbot on Linux (KVM x64) Ubuntu 13.04 with Qt 5.1.1 and GCC 4.7.3 and Cmake 2.8.10.1

För de automatiska testfunktionerna behöver byggslaven tillgång till en arbetsyta. På X Window-baserade system kan detta behov tillgodoses av Xvfb, så installera det. På Unix-liknande systems (Linux, andra *nix-system, Mac OS X) kan byggslaven startas från crontab:

SHELL=/bin/bash
QTDIR="/opt/Qt5.1.1"
PATH="/opt/Qt5.1.1/5.1.1/gcc_64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
LD_LIBRARY_PATH="/opt/Qt5.1.1/5.1.1/gcc_64/lib"
DISPLAY=":1"
@reboot Xvfb :1 -ac -screen 0 1024x768x24+32 >/dev/null 2>&1 &
@reboot buildslave start buildslave

Och för att förhindra att slaven fastnar är en omstart varje dag helt OK. Den här delen är valfri. Ersätt timmar och minuter med de tider du föredrar:

14 3 * * * buildslave restart buildslave

En första start kan utlösas genom att tillfälligt lägga till följande:

* * * * * buildslave start buildslave

När slaven väl körs kommentarmarkerar du helt enkelt den här raden.

På MS Windows-system hanteras arbetsytan och startprocessen annorlunda. Vi hade en fungerande lösning som vi körde för ett år sedan (2012), men behöver nu återuppfinna den, så all hjälp mottas med öppna armar. Gå till den här sidan om du är intresserad: Sourceforge – We need an Microsoft Windows builder.

Personal tools
Namespaces
Variants
Actions
in this wiki
other languages
Toolbox