Continuous Integration
Verfasst: Dienstag 29. Oktober 2013, 21:07
Hallo,
Ich habe mich heute nach einem günstigen Server umgesehen, auf dem ich die Tests meines Projektes laufen lassen kann (die dauern bis zu 30 Min).
Ich bin direkt fündig geworden. Insbesondere http://www.Cloudbees.com hat mir vom Angebot sehr zugesagt. Meine Tests benötigen Netzwerkzugang und haben einige Abhängigkeiten zu anderen Python Modulen. Cloudbees stellt dafür die richtige Umgebung zur Verfügung mit insgesamt 300 Gratis Minuten pro Monat, ohne dass man Kreditkarten Informationen angeben muss. Für Open Source Entwickler gibt es sogar noch ein besseres Angebot.
Ich hoste mein Projekt bei http://www.github.com. Cloudbees bietet eine Weboberfläche (Jenkins) an , bei der man einstellen kann, dass sobald das Projekt auf Github geändert wird sich der Server automatisch die neueste Version holt, installiert und meine Tests laufen lässt. Dabei habe ich gleich gemerkt, dass ein Test fehlschlug, den ich schon lange nicht mehr habe laufen lassen. Das ist denke ich insbesondere dann wertvoll, wenn man mit mehreren Leuten im Team arbeitet. Außerdem sieht es schick aus, weil man sehen kann, dass sich der Entwickler um die Qualität seiner Software kümmert.
Anscheinend kann man das Projekt danach automatisch bei Google in der Cloud laufen lassen, was bis zu einem gewissen Grad auch kostenfrei ist. Das habe ich jedoch noch nicht probiert.
Jenkins unterstützt viele Versionierungssysteme, verschiedene Testsysteme (ich nutze nosetests), und virtualenv für die Installation beliebiger Python Module. Man kann bei jeder Projekt Änderung beliebigen Python Code oder Linux Kommandos laufen lassen. Die Weboberfläche lässt sich gut bedienen, aber man muss sich erst einmal zurechtfinden. Ich vermute, dass es auch diverse Youtube Videos dazu gibt. Aber ich bin auch so zurecht gekommen.
Was ich bisher noch nicht gefunden habe sind E-Mail Benachrichtigungen, falls die Tests fehlschlagen. Soweit ich weiß, kann man seine Änderungen direkt an Cloudbees senden, wo sie getestet werden. Falls die Tests erfolgreich sind, wird dann automatisch die Version in einem öffentlichen Versionierungssystem veröffentlicht. Das wäre noch etwas schicker als meine Lösung.
Auf Github habe ich eine kleine Infografik vom Test Server eingebunden (ganz unten), sodass man sehen kann, ob die aktuelle Version Fehler aufweist:
https://github.com/joe42/CloudFusion
Grobe Übersicht:
https://joe42.ci.cloudbees.com/
Letzte Änderungen:
https://joe42.ci.cloudbees.com/job/Cloudfusion/changes
Ergebnisse der letzten Tests:
https://joe42.ci.cloudbees.com/job/Clou ... estReport/
So macht testen mehr Spaß
Gruß,
Boa
Ich habe mich heute nach einem günstigen Server umgesehen, auf dem ich die Tests meines Projektes laufen lassen kann (die dauern bis zu 30 Min).
Ich bin direkt fündig geworden. Insbesondere http://www.Cloudbees.com hat mir vom Angebot sehr zugesagt. Meine Tests benötigen Netzwerkzugang und haben einige Abhängigkeiten zu anderen Python Modulen. Cloudbees stellt dafür die richtige Umgebung zur Verfügung mit insgesamt 300 Gratis Minuten pro Monat, ohne dass man Kreditkarten Informationen angeben muss. Für Open Source Entwickler gibt es sogar noch ein besseres Angebot.
Ich hoste mein Projekt bei http://www.github.com. Cloudbees bietet eine Weboberfläche (Jenkins) an , bei der man einstellen kann, dass sobald das Projekt auf Github geändert wird sich der Server automatisch die neueste Version holt, installiert und meine Tests laufen lässt. Dabei habe ich gleich gemerkt, dass ein Test fehlschlug, den ich schon lange nicht mehr habe laufen lassen. Das ist denke ich insbesondere dann wertvoll, wenn man mit mehreren Leuten im Team arbeitet. Außerdem sieht es schick aus, weil man sehen kann, dass sich der Entwickler um die Qualität seiner Software kümmert.
Anscheinend kann man das Projekt danach automatisch bei Google in der Cloud laufen lassen, was bis zu einem gewissen Grad auch kostenfrei ist. Das habe ich jedoch noch nicht probiert.
Jenkins unterstützt viele Versionierungssysteme, verschiedene Testsysteme (ich nutze nosetests), und virtualenv für die Installation beliebiger Python Module. Man kann bei jeder Projekt Änderung beliebigen Python Code oder Linux Kommandos laufen lassen. Die Weboberfläche lässt sich gut bedienen, aber man muss sich erst einmal zurechtfinden. Ich vermute, dass es auch diverse Youtube Videos dazu gibt. Aber ich bin auch so zurecht gekommen.
Was ich bisher noch nicht gefunden habe sind E-Mail Benachrichtigungen, falls die Tests fehlschlagen. Soweit ich weiß, kann man seine Änderungen direkt an Cloudbees senden, wo sie getestet werden. Falls die Tests erfolgreich sind, wird dann automatisch die Version in einem öffentlichen Versionierungssystem veröffentlicht. Das wäre noch etwas schicker als meine Lösung.
Auf Github habe ich eine kleine Infografik vom Test Server eingebunden (ganz unten), sodass man sehen kann, ob die aktuelle Version Fehler aufweist:
https://github.com/joe42/CloudFusion
Grobe Übersicht:
https://joe42.ci.cloudbees.com/
Letzte Änderungen:
https://joe42.ci.cloudbees.com/job/Cloudfusion/changes
Ergebnisse der letzten Tests:
https://joe42.ci.cloudbees.com/job/Clou ... estReport/
So macht testen mehr Spaß
Gruß,
Boa