JBoss AS7, Jenkins und Continious-Integration light – jboss-as-maven-plugin

Nach Überführen des Bestands-Codes eines älteren Projektes auf GIT und Jenkins als CI-System hatte sich seit einem JUGH-Vortrag die Idee des Continious-Integration festgesetzt.

Es wäre doch schön, wenn man Code eincheckt und das Ergebnis zentral für Tester in kurzer Zeit zur Verfügung steht (bzw. für den Entwickler selbst in einer kundensystem-nahen Umgebung und gerade nicht auf dem full-blown Entwicklungsrechner).

Nach dem Experimentieren mit diversen Ant, Copy und Deploy-Mechanismen (SSH-Wagon-PlugIn) mit Maven stellte sich alles als zu fummelig heraus. Warum also nicht einmal eine nicht so allgemeine Lösung verwenden, das jboss-as-maven-plugin.

Dies stellte sich als Glücksgriff heraus. Zentral lässt sich der SSL-Zugriff zu einem laufenden AS7-Server konfigurieren und dann wird das entsprechende WAR (oder EAR) direkt (ohne File-Copy in einen Ordner) in den AS7-Server eingespielt.

Da ich ein modulares Maven-Projekt verwende mit 4 Web-Applikationen, wurde folgendes in die Parent-POM eingetragen:

<plugin>
<!– Deployment configuration –>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.4.Final</version>
<configuration>
<hostname>testsystem.curses.priv</hostname>
<port>9999</port>
<username>admin</username>
<password>asfi834f</password>
<skip>${jboss-as.deployment.skip}</skip>
</configuration>
</plugin>

Das Angenehme ist, dass man über skip steuern kann, ob ein Artefakt eingespielt werden soll oder nicht. So wird die entsprechende Variable jboss-as.deployment.skip z. B. für die Parent-POM selbst auf false gesetzt, um Fehlermeldungen und eine eventuell notwendige force-Einstellung zu vermeiden.

Über die Admin-Oberfläche (Port 9990) lassen sich bequem die entsprechend eingespielten Artefakte prüfen.