Multi-Platform Test Umgebung?

rubricanis

Homo ludens
Ich frage mich gerade wie die Testumgebung für Multi-Platform Projekte in der Praxis aussieht?

Klar, dank Virtualisierung kann man auf einer Box verschiedene Betriebssystem installieren aber damit ist es ja nicht getan. Der Code muß verteilt und kompiliert werden, möglicherweise auch mit jeweils verschiedenen Compilern/Versionen. Ich stelle mir das enorm schwierig vor. Hat da jemand Ahnung/Erfahrung wird so etwas praktisch gelöst wird ?

Peter
 
Hi,

ich entwickle hauptsächlich (99%) auf FreeBSD. Software, die auch unter Windows/Linux/Mac OS X/OpenBSD laufen soll, kompiliere ich auf der jeweiligen Plattform in der Regel innerhalb von VirtualBox und teste dort dann mit den Standard-Compilern. Unter Windows nehme ich GCC.
Die Sourcen werden über Git verwaltet. Bisher funtkioniert das einzeln und auch zu mehreren recht gut, allerdings nutze ich/wir auch keine Entwicklungsumgebung sondern VIM und Command Line.

Viele Grüße

Morfio
 
Hört sich nach einer typischen Aufgabe für einen Buildserver an. Dort mehrere Build-Agents (bzw. z.B. "Slave-Agents" in Jenkins-Terminologie).
Dann definierst du bei dem Build-Master für jeden Build mehrere Steps, die bestimmte Bedingungen (OS) an den Build-Agent stellen, und der kann dann kompilieren/testen. Je nach Programmiersprache und verfügbaren Optionen des Buildservers würdest du dann noch verschiedene Build-Umgebungen mit verschiedenen Compilern etc. anlegen.

Je nachdem wie groß deine "Testmatrix" ist (Kombinationen von Betriebssystemen, Compilern) etc. kann das ggf. schon recht komplex werden, aber zumindest das Triggern, Code Verteilen und Auswerten von Ergebnissen nimmt dir der Buildserver (zentral) ab.

Ich habe mal Jenkins verwendet, da ist die UI grauenhaft, und man kann die Build-Konfiguration nur über die Web-Oberfläche konfigurieren, da bietet es sich dann an das Buildscript mit in die Versionskontrolle zu packen. Empfehlen kann ich an Buildservern sonst noch Teamcity, das ist aber nicht OpenSource, aber mit Limitierungen kostenlos.
 
Hmmm, unter den Build-Servern scheint mir Buildbot am interessantesten. Ist aber schon die Frage ob sich der Aufwand bei einem kleineren bis mittelgroßen Projekt lohnt. Ich werde das wohl zunächst mal per Hand erledigen und schauen inwieweit man sich das mit einigen Scripts vereinfachen kann. Da ich Premake5 als Build-Tool verwenden werde kann ich das vielleicht auch da mit einflechten. Wir werden sehen ...

Vielen Dank für Info!
 
Zurück
Oben