Wie wir ein automatisiertes, benutzergesteuertes Deployment realisiert haben
28 September, 2023 durch
Wie wir ein automatisiertes, benutzergesteuertes Deployment realisiert haben
Administrator

Ein automatisiertes, benutzergesteuertes Deployment hat viele Vorteile, unter anderem dient es als Entlastung für Entwickler. Warum ein solches Deployment auch für Sie von großem Nutzen sein kann, erfahren Sie hier.

Was spricht für einen automatisierten Einsatz?

In den letzten Monaten hat sich einer unserer Mitarbeiter im Rahmen einer Bachelorarbeit mit dieser Fragestellung beschäftigt. Das Ziel der Bachelorarbeit war es, ein prototypisches automatisiertes Deployment zu erstellen. Dabei sollte der Start in den benötigten technischen Kenntnissen reduziert werden. Dennoch sollte das Deployment weiterhin über eine Benutzeroberfläche in Odoo gestartet werden und in einer GitLab-Pipeline durchgeführt werden. Motivation war die Entlastung der Entwickler, die bisher ausschließlich das Deployment durchgeführt haben. Dabei geht es vor allem darum, zeitliche Verzögerungen bei den Aufgaben zu vermeiden.

Die Vorteile einer Automatisierung sind die Reduzierung der Fehleranfälligkeit und des nötigen technischen Wissen für den Start des Deployments und die verringerte Einarbeitungszeit der Mitarbeiter. Das Deployment wird nicht mehr auf dem Rechner des Entwicklers durchgeführt und ist somit systemunabhängig. Dadurch kann ebenfalls anderes Personal diese Arbeit durchführen.

Der Ablauf der Umsetzung

Zuerst wurde eine Anforderungsanalyse durchgeführt, um das Ziel eines automatisierten benutzergesteuerten Deployments zu erreichen. Dabei wurden interne Interviews mit unseren Mitarbeitern durchgeführt, um die Anforderungen für das Odoo Modul und die GitLab-Pipeline herauszufinden und zu erarbeiten. Anschließend wurde anhand dieser Anforderungen die GitLab-Pipeline erstellt.

Für die Umsetzung wurde in Odoo ein eigenes Modul erstellt, welches die Kundensysteme abbildet und die Deployment-Pipeline über einen API-Aufruf startet. Weiterhin werden für die Kundensysteme alle bisherigen Deployments in einer Historie gesammelt und dem Nutzer angezeigt. Somit wird auch ermöglicht, die Module der Kundensysteme zu verwalten.

Das Deployment selbst erfolgt in einer GitLab-Pipeline. Diese wird dynamisch mit Hilfe der Python-Bibliothek „gcip“ erstellt. Die Pipeline wird in einem eigenen Projekt ausgeführt und das Skript dafür wird vom Kundenprojekt verwendet, während das Projekt selbst nicht verändert wird.

Zukünftige Anpassungen

Als Ausblick auf weitere Anpassungen an dem Modul und der Pipeline gibt es folgende Anhaltspunkte: ein Hilfsskript für die Pipeline, u Dopplungen des Codes reduzieren und die Wartbarkeit erhöhen. Weiterhin sollte ein einheitliches Deployment-Skript für Kubernetes Systeme erstellt werden. Im Bezug auf das Odoo Modul könnte ein zentrales Modul für die Verwaltung der Kundenmodule erstellt werden, welches die Bedienung für den Nutzer vereinfacht.

Jetzt kostenlose Odoo Beratung anfordern!


Rufen Sie uns an unter 03831 44557 0 oder nutzen Sie das Kontaktformular.

Odoo Beratung anfordern

in Odoo