Automatische Installation von Modulen

Um den Deploymentprozess automatisch (d.h. Skriptgesteuert) gestalten zu können, benötigen wir einen automatischen Import von Modulen in FirstSpirit.

Das Importieren von Modulen sollte also nicht nur über die Admin Oberfläche (Server - Eigenschaften - Module) möglich sein, sondern auch per Skript, Url Aufruf etc.

Für die Automatisierung sind auch noch folgende Featurerequests interessant:

Aufträge exportieren und importieren

Improve development cycle – enhanced template update

4 Comments
Hendrik
New Responder

Besonders im Sinne von Continuous Integration wäre eine offiziell verfügbare Möglichkeit zur Installation von Modulen über die Access API wünschenswert. Derzeit ist dies zwar schon möglich, aber leider nicht über die Access-API.

Anonymous
Not applicable

Der de.espirit.firstspirit.manager.ModuleManager (per connection.getManager(ModulManager.class)) bietet die Funktionalität, um Module automatisch zu deployen. Allerdings handelt es sich hier um undokumentierte API!

Wir haben eine HelperKlasse erstellt, die eine AdminConnection zum FirstSpirit-Server aufbaut und Module so automatisch einspielt. Sie wird per Ant-Makro aufgerufen, die den Helper mit Verbindungsparametern und dem URL zum fertigen FSM aufruft.

Um die Module neu zu laden, starten wir nach dem Modulupload automatisch unsere Preview-Tomcats mittels sshexec durch.

Funktioniert ganz gut als Notlösung (Module einspielen würde bei uns sonst immer 5-10 Minuten in Anspruch nehmen, beim Testen von Entwicklungen unhaltbar.), ist dank der nicht-dokumentierten API allerdings mit Vorsicht zu genießen.

dmihajluk
I'm new here

Hallo,

ich habe versucht es wie oben beschrieben zu implementieren. Leider gibt es bei mir in de.espirit.firstspirit.access.Connection keine getManager(Class<?>) methode.

Ich verwende momentan diese Version: de.espirit.firstspirit:firstspirit:fs-server:5.0.318-build-1.0

Andreas-Knoor
Crownpeak Employee
Crownpeak Employee

Diese Funktion wird (erst) mit FirstSpirit 5.1 zur Verfügung stehen.