Mario Behrendt

Continuous Integration mit Travis

In Anschluss an meinen letzen Artikel zum Bau eines Node.js-Moduls, möchte ich noch kurz mein Vorgehen bei der Verwendung von Travis CI erklären. Auch wenn ich als Autor von Jenkins Kurz & Gut natürlich bevorzugt Jenkins für kontinuierliche Integration verwende, kann es doch ganz nett und sinnvoll sein einen Dienst wie Travis CI zu nutzen. Gerade Open Source-Projekte sind hier bestens geeignet, vor allem wenn sie auf Github liegen!

Kernstück und fast einzige nötige Konfiguration ist die Datei .travis.yml im Root-Ordner des jeweiligen Projektes. Diese könnte wie folgt aussehen:

Travis Konfiguration
1
2
3
language: node_js
node_js:
    - 0.6

Jaaaaa, mehr nicht :) Wie unschwer zu erkennen, handelt es sich dabei, wie oben bereits angesprochen, um ein Node.js-Projekt. language legt somit einfach die verwendete Sprache fest, node_js die zu testenden Versionen. Weitere Informationen zu den möglichen Optionen finden sich in der ausgezeichneten Dokumentation.

Im Falle von Node.js führt Travis automatisch das Kommando npm test aus. Damit NPM auch weiß, was dabei zu tun ist, bedarf es ein paar Zeilen in der entsprechenden package.json-Datei:

NPM Konfiguration
1
2
3
"scripts": {
    "test": "make test"
},

Das Kommando sollte natürlich auch vorhanden und ausführbar sein (ich verwende Makefiles in Verbindung mit dem Testing Framework Mocha). Danach muss man nur noch auf die Webseite von Travis gehen, sich via Github einloggen und das Repository aktivieren. Schon führt Travis bei jedem Push die Tests aus und verschickt im Fehlerfall E-Mails. Ein schickes Frontend gibt es dazu natürlich auch. Alles kostenlos, hosted und unkompliziert - sehr nett!