Continuous Integration mit Liferay 6.1

Lean back and deploy!


Liferay ist ein vielseitiges Content-Management-System und einfach mit dynamischem Content erweiterbar. Daher wird es oft für Intranet und andere interne Anwendungen genutzt, die mehr als ein Wiki bieten sollen. Mit der Zeit wurden die dynamischen Inhalte stetig erweitert, sodass die Notwendigkeit von häufigen Deployments von Portlets besteht. Da aber in vielen Unternehmen beim Deployment die Arbeit oft manuell durchgeführt wird, entstehen lange Betriebsanleitungen, die beschreiben, welche Pages erstellt werden, welche Rollen diesen Pages zugewiesen werden, welche Präferenzen für die Anzeige und welche Portlets auf welche Pages platziert werden sollen. Mit dem Liferay-API lassen sich diese Prozesse automatisieren. Dabei können die gleichen Methoden praktisch auf jedem Web Application Server benutzt werden, der mindestens JSR 53 implementiert.

Im Folgenden sollen drei Bereiche thematisiert werden:

  • Continuous-Integration-Tools und ihre Voraussetzungen

  • Continuous Integration auf einem Web Application Server für Liferay

  • Continuous Integration mit Liferay

Continuous Integration mit Liferay werden wir als unabhängig vom Web Application Server betrachten, weil Continuous Integration Recipes, die hier für Liferay dargestellt werden, problemlos genauso unter Apache Tomcat, WebLogic, JBoss oder WebSphere angewendet werden können.

Liferay hat eine relativ spezifische Lösung für Deployment-Prozesse, indem es die .war-Dateien in einem deploy-Verzeichnis verwaltet. Das erklärt sich dadurch, dass Liferay diese .war-Datei bearbeitet, eventuell mit eigenen tld-Dateien anreichert und web.xml abändert. Die Standard-.war-Applikationen werden im Gegensatz dazu einfach so übernommen, wie sie verpackt sind. Sie werden nur ausgepackt und ausgeführt. Standardapplikationen werden auch nicht in spezifischen deploy-Verzeichnissen von Liferay abgelegt, sondern im Web-Application-Verzeichnis. Das ist zum Beispiel entweder das webapp in Tomcat oder das Domain-Verzeichnis unter WebLogic.

Dieser Artikel geht nicht auf das Thema Unit und Integration Testing ein. Natürlich ist ein ausreichendes automatisches Testing eine Grundvoraussetzung für CI und wird daher als selbstverständlich vorausgesetzt.

Continuous-Integration-Tools und ihre Voraussetzungen

Um Continuous Integration (CI) und Continuous Deployment (CD) zu ermöglichen, brauchen wir zuerst ein CI-/CD-Tool. Davon gibt es viele auf dem Markt: TeamCity, Hudson, Jenkins, Atlassian Bamboo und zahlreiche andere. Diese Tools bieten of...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang