Das Aufsetzen einer CI (continuous integration) Umgebung ist heutzutage keine Besonderheit mehr. Sehr häufig kommt dabei der CI-Server Hudson bzw. Jenkins zum Einsatz. In einem aktuellen Projekt habe ich bei der Umsetzung der Umgebung bzw. beim Aufbau des Build-Systems jedoch einige besondere Techniken eingesetzt.
Das Projekt besteht aus mehreren Modulen (eclipse Projekte) zwischen denen Abhängigkeiten bestehen. Bei der Ausführung der Build-Skripte (Ant) ist daher auf eine definierte Reihenfolge zu achten, da einige Module auf die Artefakte von anderen Modulen zurückgreifen. Neben den erstellten Artefakten der einzelnen Module werden weitere Artefakte (= Bibliotheken) verwendet. Die Bibliotheken sind einem Modul zugeordnet, werden aber auch von anderen Modulen referenziert.