Continuous Integration News: TeamCity 7.0 und Travis CI für Java, Scala und Groovy

Hartmut Schlosser

Wer in großen Software-Projekten und verteilten Teams arbeitet, wird die Erfahrung gemacht haben, dass die von verschiedenen Personen entwickelten Code-Bestandteile zwar einzeln wunderbar funktionieren. Werden sie dann jedoch zu einem großen Ganzen zusammengesetzt, hakt es plötzlich.

Lösung des Problems: Continuous Integration! IT-Bestsellerautor Martin Fowler beschreibt CI so: Zeit und Aufwand, Komponenten richtig zu integrieren, können wesentlich reduziert werden, führt man die Integration der Komponenten als regelmäßigen Arbeitsschritt in den Entwicklungsprozess ein: Mindestens einmal täglich integriert jeder am Projekt beteiligter Entwickler, was zu mehreren Integrationen pro Tag führt.

Soweit der Prozess – fehlt noch die Technologie, um den Prozess umzusetzen. Auf der Technologieseite stehen deshalb seit mehreren Jahren recht mächtige CI Server zur Verfügung, die immer mehr an Zugkraft entwickeln, beispielsweise die im Java-Umfeld populären Hudson, Jenkins oder auch die kommerzielle IBM-Lösung Rational Team Concert.

Die Java Community darf sich nun über zwei interessante Entwicklungen im CI-Bereich freuen: Zum einen hat der aus dem Ruby-Umfeld bekannte Travis CI Server auch expliziten Support für Java, Scala und Groovy mit an Bord. Zum anderen wartet die JetBrains-CI-Lösung TeamCity in ihrer siebten Major-Version mit neuen Features auf.

TeamCity, die Siebente


src=“http://cdn.sandsmedia.com/ps/news/pspic/picture_file/28/Team_City4f460dbc5583b.png?1329991121″ hspace=“10″ vspace=“5″ alt=““>

TeamCity von JetBrains ist eine kommerzielle Lösung, die seit 2006 auf dem Markt ist (für die es aber auch Open-Source-Lizenzen gibt). Insbesondere die treue Fangemeinde der JetBrains IDE IntelliJ genießt eine nahtlose Integration des Servers in die verwendete Entwicklungsumgebung – was aber nicht heißen soll, dass die ebenfalls erhältlichen TeamCity-Plug-ins für Eclipse und Microsoft Visual Studio qualitativ abfallen.

In TeamCity 7 wurden wichtige Funktionserweiterungen eingeführt: Inkrementelle Builds und UnitTesting für Maven, Gradle und IntelliJ IDEA Projekte gehören dazu. Zudem sind Visualisierungen von Build-Ketten möglich, Buildparameter lassen sich über ein neues User Interface einstellen. Branch-Graphen und eine Change History runden das Bild ab.

New Kid on the Block: Travis CI Server


src=“http://cdn.sandsmedia.com/ps/news/pspic/picture_file/31/Travis4f460dd113a02.png?1329991121″ hspace=“10″ vspace=“5″ alt=““>

Das Travis CI System ist erst seit 2011 auf dem Markt, wurde von der Java Community indes wohl kaum wahrgenommen, da es als Ruby-Projekt an den Start ging. Von dort aus hat das Travis-Team allerdings fleißig an Support-Erweiterungen gearbeitet und Erlang, Clojure, Node.js und PHP integriert. Konzipiert wurde der Travis CI Server für die Nutzung mit GitHub in Open-Source-Projekten. Es handelt sich um ein gehostetes System, das Bibliotheken, Tools und Services für eine Reihe von Standardtechnologien bereitstellt, darunter MySQL, PostgreSQL, Redis, RabbitMQ und MongoDB.

Build-Logs lassen sich quasi in Echtzeit im Browser verfolgen. Bereits eine halbe Million Builds für über 6.000 Open-Source-Projekte soll das System seit Anfang 2011 abgearbeitet haben, darunter Ruby, Ruby on Rails, RubyGems, Node.js, Leiningen und Symfony.

Und jetzt erobert das Travis System also auch die JVM und unterstützt Java, Scala und Groovy out-of-the box. Der Java-Support ist allerdings zunächst auf OpenJDK 6 beschränkt, wer andere JDKs benutzt, muss sich noch etwas gedulden. Die mitgelieferte Technologie-Kette besteht derzeit aus OpenJDK 6, Maven 3, Gradle 1.0 M7 und Ant 1.7. Für die einzelnen Sprachen stehen auch spezielle User Guides bereit, hier für Java, Clojure, Groovy und Scala.

Travis sehen wir als vielversprechenden Kandidaten für GitHub-User, der sicherlich die Optionsvielfalt der Java-Community erweitert. Wir sind gespannt auf erste Erfahrungsberichte von Java-, Scala- oder Groovy-Projekten, die vom Travis CI Server zusammengehalten werden.

Weiter informieren kann man sich über die jeweiligen Systeme auf der TeamCity-Seite und dem Travis-Blog.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.