Worum handelt es sich bei CI?
Kontinuierliche Integration steht für eine fortlaufende Integration. Für Entwickler bedeutet dies, dass sie Änderungen am Code so oft, wie es nur möglich ist, vornehmen können. Sobald die Änderungen an Git übergeben worden sind, werden sie mithilfe automatisierter Tests überprüft.
Worum handelt es sich bei CD?
Meistens steht das Akronym für Continous Delivery (Kontinuierliche Lieferung), manchmal ist aber auch Continous Deployment (Kontinuierliche Bereitstellung) damit gemeint.
Der erste Vollbegriff bedeutet, dass den Anwendern neu vorgenommene Änderungen schnell und nachhaltig zur Verfügung gestellt werden. Es ist eng mit CI verwandt. Die Kontinuierliche Lieferung ermöglicht die einfache Bereitstellung von Anwendungen zu jedem beliebigen Zeitpunkt.
Die kontinuierliche Bereitstellung geht noch einen Schritt weiter. Wenn das CI reibungslos gelaufen ist und erfolgreich war, wird die Anwendung automatisch zur Verfügung gestellt, ohne dass eine Aktion, und sei es auch nur ein Klick, erforderlich ist.
Es gibt viele Tools, um CI / CD für UI5-Anwendungen zu nutzen. Die meisten von ihnen laufen in der Cloud. Einige sind extern, andere kommen von SAP, die sie kontinuierlich weiterentwickeln. Die Vereinfachung dieser Option soll vor allem die Notwendigkeit verringern, viele verschiedene Komponenten installieren und zahlreiche Konfigurationen durchführen zu müssen.
Der Modellaufbau für das Fiori-Projekt bei Hicron sieht folgendermaßen aus:
Phasen der Projektvorbereitung:
- Einrichten der sicheren Verbindung Gateway ó Cloud Connector
- Anlegen der Projektstruktur in GitLab
- Konfiguration der Verbindung GitLab óGateway System mit der Zielsetzung, die Anwendung automatisch auf dem Server ausführen zu können (technische Konfiguration / Verzweigungen / Code-Review etc.)
- Vorbereitung der Konfiguration für die CI/CD-Pipelines:
- Build
- Test
- Stage
Entwicklungsphasen:
- In einer so eingerichteten Umgebung wird jede Änderung in separaten Zweigen erstellt, die auf dem Hauptzweig (engl. branch) basieren.
- Der Entwickler schreibt für jede Änderung Unit-Tests, die automatisch in GitLab ausgeführt werden.
- Nach einem erfolgreich verlaufenen Test muss jede Änderung ein Code-Review
- Nach dem ordnungsgemäßen Code-Review wird die Änderung in den Hauptzweig eingebunden.
- Nach der ordnungsgemäßen Zusammenführung wird die Anwendung automatisch den Pipelines entsprechend (wie oben erwähnt) erstellt und an das Gateway-System (DEV) gesendet.
CI/CD in OData
Das Spektrum an Systemen ist in drei verschiedene Versionen unterteilt: für die Programmierung (DEV), für den Test (TEST) und für die Produktion (PROD). In dieser Reihenfolge sind sie durch Transportwege miteinander verbunden, nach denen Aufträge aus einem System exportiert und in das nächste importiert werden.
Durch die Kombination von CI/CD für Fiori bleibt die Qualität des Codes gesichert. Mit CI können Sie Quellen in das entsprechende Format konvertieren, automatisierte Tests durchführen und ein Entwicklungsobjekt erstellen, das bereit ist, in das SAP-Repository (auf dem DEV-System) hochgeladen zu werden. Von dort überträgt das SAP-System die Änderungen an das Testsystem und schließlich an das Produktivsystem. Die Kommunikation zwischen SAP und Git erfolgt über einen Cloud-Connector unter Verwendung des OData-Protokolls (gemäß der Standardimplementierung).
Kontinuierliche Integration, Lieferung und Bereitstellung bringen eine Reihe von Vorteilen mit sich. Sie sorgen nicht nur für den Prozess der Integration von Änderungen in den Anwendungscode und die regelmäßige und automatische Implementierung von Änderungen. Durch sie wird auch die parallele Arbeit von Programmierern ermöglicht, die Zeit des Wartens auf Feedback von Endbenutzern verkürzt, die Arbeit erleichtert und die Möglichkeit von Fehlern dank Code-Review und automatisierten Tests minimiert. Das Zusammenspiel dieser Werkzeuge ermöglicht es Ihnen, die Zielkosten zu minimieren und gleichzeitig die Entwicklung von Anwendungen langfristig zu unterstützen.