Blog

Was ist gCTS (Git-enabled Change and Transport System)?

gCTS ist eine Lösung zur Speicherung aller Versionen von SAP ABAP Entwicklungs- und Customizing-Objekten bei der Verwaltung von Transportprozessen, die Git als externes System zur Versionsverwaltung für die Speicherung von ABAP-Dateien verwendet. Das Hauptkonzept besteht darin, dass Objekte in ein Git-Repository (Projektarchiv) verschoben und dann in jede beliebige Umgebung, einschließlich einer Test-, Produktions- oder einer anderen Entwicklungsumgebung, bereitgestellt werden können. Git speichert mehrere Dateiversionen, auf die Entwickler jederzeit zugreifen, jede aufgezeichnete Version verändern, aktualisieren und verteilen sowie das System als Backup für den Fall eines Systemfehlers nutzen können.

Wie funktioniert die Git-basierte Softwareverteilung?

Um ABAP-Entwicklungsobjekte von einem System auf ein anderes zu verschieben, kann Git als technische Grundlage dienen. Sobald ein Repository auf dem ABAP-System registriert ist, können ABAP-Entwickler den Git-Server als Cloud-Speicher nutzen und den Inhalt des Repositorys wie gewohnt in ihr Dateisystem klonen. Um die Objekte in anderen Systemen verfügbar zu machen, sollten sie in ein entferntes Repository übertragen und von dort abgerufen werden.

Wie funktioniert die kontinuierliche Integration?

Kontinuierliche Integrationsverfahren für die ABAP-Entwicklung sind mit gCTS möglich. Verfahren zur kontinuierlichen Integration (CI) unterstützen die Verwaltung von Codeänderungen, die von vielen Entwicklern vorgenommen werden.

Änderungen werden für Dritte verfügbar, nachdem der Entwickler den Code in ein Repository gestellt hat. Sobald sich der Code im Repository befindet, wird er von CI-Servern beobachtet, und CI erstellt einen neuen Build. Später überträgt der CI-Server den Build auf das Laufzeitsystem und testet den Build. Anschließend sendet der CI-Server eine Rückmeldung an den Entwickler, und der kontinuierliche Integrationsprozess ist abgeschlossen.

Was ist eine kontinuierliche Bereitstellung?

Continuous Deployment (CD) ist der Prozess der Automatisierung der Veröffentlichung und Bereitstellung von Software-Updates. Wenn ein Code-Commit eine automatisierte Testphase durchläuft, wird er in der Produktionsumgebung veröffentlicht. Continuous Deployment stellt sicher, dass jede Aktualisierung, die die Produktionsphasen durchlaufen hat, den Endbenutzern zur Verfügung steht.

Wie sieht die Prozessübersicht für gCTS aus?

Zunächst sollte auf dem ABAP-System ein entferntes Git-Repository registriert werden. Dies kann mit der SAP Fiori-App für die gCTS-App erfolgen. Dann wird das entfernte Git-Repository in das Dateisystem des ABAP-Systems kopiert und ein lokales Repository angelegt. Anschließend sollten die Pakete definiert werden, die der Benutzer verwalten möchte. Die Softwareentwicklung wird in ABAP durchgeführt. Dann können die geänderten und in Transportaufgaben aufgezeichneten Objekte in das entfernte Repository geschoben werden. gCTS klont die Objekte standardmäßig in das Dateisystem, wenn ein Transportauftrag vom ABAP-System freigegeben wird. Wenn ein Transportauftrag freigegeben wird, wird er zur gCTS-Warteschlange hinzugefügt (siehe Abbildung 5), auf die im ABAP-System über die Transaktion STMS zugegriffen werden kann und die dann für den Transport verfügbar ist. Die Objekte werden außerdem in Datei- und Ordnerstrukturen umgewandelt, die von Git-Repositories verarbeitet werden können. Schließlich kann das Zielsystem durch Pulling-Aufträge aktualisiert werden oder es kann automatisch mit Hilfe einer CI/CD-Pipeline erfolgen.

Was sind die Voraussetzungen für ein Git-Enabled Change and Transport System?

Zunächst einmal werden die SAP Fiori App for Git-Enabled Change and Transport System (gCTS App) und eine Git-Plattform zur Aufbewahrung Ihrer Repositories benötigt. ABAP-Systeme wie Entwicklungs-, Test-, Produktionssysteme usw. sind ebenfalls ein Muss für die Verwendung von gCTS. In ABAP-Systemen sollte mindestens SAP S/4HANA 1919 und für Anpassungen 2020 Release laufen. Die Verwendung eines CI-Servers ist optional (z. B. Jenkins), mit dem Sie Pipelines zur Automatisierung des Prozesses verwenden können.

Für gCTS-Aufgaben benötigen sowohl Entwicklerbenutzer als auch ABAP-Benutzer, die Konfigurationsaufgaben durchführen, die Berechtigungen der folgenden Berechtigungsobjekte:

  • S_RFC
  • S_SERVICE
  • S_BTCH_ADM
  • S_BTCH_JOB
  • S_CTS_ADMI
  • S_CTS_SADM
  • S_DATASET
  • S_GCTS_REP
  • S_LOG_COM
  • S_TRANSPRT

Warum sollten wir gCTS verwenden?

  • Dezentralisierte Entwicklungsumgebung
  • Lesbare Dateien werden in Repositories gespeichert
  • Quellcode kann leicht geteilt und aufgerufen werden
  • Im Falle einer unerwarteten Situation kann der Quellcode gesichert werden
  • Veränderungen werden automatisch getestet und stabile Änderungen werden bereitgestellt
  • Sofortige Rückmeldung an die Entwickler
  • Automatischer Pull von Änderungen in ein Folgesystem
  • Vollständige Unterstützung von Continuous Integration
  • Automatischer kontinuierlicher Einsatz

Referenzen

"Git-Enabled Change and Transport System". help.sap.com, sap, 2021, https://help.sap.com/docs/ABAP_PLATFORM_NEW/4a368c163b08418890a406d413933ba7/48c4300fca5d581ce10000000a42189c.html?locale=en-US.

"LT110 - Include ABAP in DevOps: Get the Picture." SAP, 8. April 2020, https://assets.dm.ux.sap.com/ru-eslc2020/pdfs/devops_for_abap.pdf. Zugriff am 6. Juli 2022.

"About continuous deployment." GitHub Docs, https://docs.github.com/en/actions/deployment/about-deployments/about-continuous-deployment. Zugegriffen am 6. Juli 2022.


ähnliche
Blogs

Ihre E-Mail wurde erfolgreich versendet. Sie werden so bald wie möglich kontaktiert.

Ihre Nachricht konnte nicht zugestellt werden! Bitte versuchen Sie es später noch einmal.