Philipp Kriegbaum
5. Mai 2020

Wie abapGit Ihre SAP-Entwicklung retten kann

Jeder Entwickler ist schon einmal durch ein ähnliches Szenario gelaufen: Während dem Anpassen von Source Code wurde unbeabsichtigt eine Variablenbezeichnung, Funktion oder Datei gelöscht, anschließend gespeichert und nicht transportiert. In vielen Fällen kann dies zu katastrophalen Ausfällen und stundenlanger Fehlersuche führen. Hierbei stellt abapGit ein einfaches Verfahren dar, um die bewährte Git-Versionskontrolle in jedes ABAP-Projekt einzubinden und aktiv solchen Szenarien entgegenzuwirken. Doch was ist abapGit oder dieses Git, von dem alle reden, und warum sollten Sie es noch heute verwenden? In diesem Artikel werden abapGit und Git grundlegend erklärt und auf die Vorteile, Installation und Einschränkungen eingegangen. 

Was ist Git überhaupt?

It is easy to shoot your foot off with git, but also easy to revert to a previous foot and merge it with your current leg.

— Jack William Bell

Jeder, der sich etwas mit Software-Entwicklung beschäftigt, stolpert früher oder später über den Begriff „Git” (oder wahrscheinlicher während des Googelns über die Plattform GitHub). Aber was ist dieses Werkzeug und warum findet es weltweit Anwendung in der Entwicklung?

Kurz gesagt ist Git ein verteiltes Versionskontrollsystem, mit dem in vielen Software-Projekten bereits seit Jahren Versionierung und Synchronisierung für verschiedenste Programmiersprachen gewährleistet wird. Somit wird der Prozess zur Zusammenarbeit zwischen mehreren Entwicklern vereinfacht, da jeder in einer lokalen Kopie des Projektes arbeiten und bei funktionierenden Änderungen diese in das Hauptprojekt auf den Server („Repository”) hochlädt („committet”). In dem Repository werden allerdings nicht nur die Source Code Dateien, sondern ebenfalls Informationen zu den Änderungen gespeichert. Durch diese Art der Zusammenarbeit können daher Features unabhängig von dem aktuellen Entwicklungsstand parallel laufender Implementierungen getestet und verwendet werden. 

Um allerdings nicht immer auf die zentrale Version des Projektcodes zuzugreifen, werden sogenannte „Branches” eingesetzt. In dieser Kopie des Source Codes findet beispielsweise die isolierte Entwicklung von neuen Features statt, welche bei Fertigstellung sicher zurück in den Master-Branch (Hauptprojekt) geladen („gemergt”) werden können. Beispielhaft ist ein solcher Entwicklungsprozess in der unten aufgeführten Grafik dargestellt. Hier wurde mit dem Develop-Branch eine unabhängige Umgebung für das Entwicklerteam geschaffen, welche den Source Code des Masters nicht beeinträchtigt, wodurch dieser zu jeder Zeit eine funktionierende Version zur Verfügung stellt. 

Würde im Extremfall nun die Entwicklung eines Features fehlschlagen, so kann zu jederzeit in einen vorherigen Zustand im Branch zurückgegriffen werden. Zudem ist auf dieser Weise das Hauptsystem nicht beeinträchtigt, da der Source Code hierfür isoliert im eigenen Branch liegt. Aufgrund dieser Sicherheit und der durchgängigen Protokollierung findet Git in Unternehmen weltweit Einsatz.

Develop-Branch

Develop-Branch

ABAP + Git = abapgit

Die SAP-Erweiterung abapGit stellt hierbei einen open-source Git-Client für die ABAP-Entwicklung dar, welcher vollständig in ABAP für ABAP entwickelt wurde. Mit dieser Methode wird eine einfache Verbindung der Git-Versionskontrolle mit dem ABAP-Applikationsserver ermöglicht. Hierbei werden sämtliche ABAP-Entwicklungsobjekte in einem Git-Repository hinterlegt. Erwähnenswert bleibt allerdings, dass kein eigener Git-Server benötigt wird. Die Lösung bildet hier die Anbindungen externer Anbieter wie GitHub, GitLab oder Bitbucket. Interessant bei diesen Plattformen ist besonders die Sichtbarkeitseinstellung des Repositories, da mit der Sichtbarkeit „private” der Source Code nur für freigegebene Entwickler einsehbar ist.

Die Installation von abapGit gestaltet sich zudem als einfach und intuitiv. Bei der Entwicklung wurde hierbei speziell darauf geachtet, die Anwendung mit einen möglichst schmalen Fußabdruck zu konzipieren. Dies bildet insbesondere die folgenden Vorteile:

  • Keine Transporte, multiplen Installationsschritte, Vorinstallationen von Abhängigkeiten oder Erweiterungen sind von Nöten.
  • Es wird eine Möglichkeit zur Automatisierung für den Update-Prozess des Source Codes der Erweiterung aus dem zugehörigen Git-Repository gegeben.
  • Einfache Installation/Deinstallation, da die zugehörigen Source-Code-Dateien einfach auf dem ABAP-Entwicklungsserver kopiert/gelöscht werden können.

Wollen Sie sich selbst überzeugen, wie simpel die Installation von abapGit abläuft? Wir haben für Sie einen kurzen Leitfaden zusammengestellt, den Sie hier kostenlos downloaden können.

Howto ABAPGit einrichten

abapGit einrichten [Howto]

In diesem How-to erkläre ich Ihnen Schritt für Schritt, wie Sie abapGit bei sich einrichten und davon profitieren können.

Vorteile von abapGit in der ABAP-Entwicklung

Der Einsatz von abapGit in Ihren ABAP-Projekten bietet den Entwicklern als zentrales Versionskontrollsystem viele Vorteile:

  • Es existiert zu jedem Zeitpunkt eine konsistenter und voll einsatzfähiger Stand Ihres Source Codes auf dem Master-Branch.
  • Lösen zentraler Herausforderungen in der ABAP-Entwicklung, wie bspw. bei einer fehlgeschlagenen Entwicklung ein einfaches Zurücksetzten auf die vorherige Version.
  • Mehrere Entwickler können unabhängig voneinander an verschiedenen Features des Projektes arbeiten, ohne mit sich ständig ändernden Quellcode kämpfen zu müssen.
  • Einfache Erweiterbarkeit des eigenen Projektes durch Plugins und Demo-Programmen von Open-Source-Projekten aus der ABAP-Community wird mit dem clones der öffentlich verfügbaren Repositories ermöglicht.

Zusätzlich bleibt die Möglichkeit zur Anbindung an verschiedene Continuous Integration (CI) Pipelines zu erwähnen, welche automatisiert den Source Code vor Release aus dem Repository laden. Hierbei können zuvor definierte Unit-Tests abgearbeitet und weitere Analysen durchlaufen werden. Durch diesen Einsatz wird eine stets qualitativ hochwertige neue Version gewährleistet, um die Fehlerquote zu minimieren und die Stabilität zu erhöhen.

Einschränkungen von abapGit

Vor der Installation von abapGit sollten Sie sicherstellen, dass Ihr SAP-Netweaver-Applikationsserver mindestens die SAP Basis Version 702 (oder höher) hat. Ältere Versionen werden offiziell nicht unterstützt.

Zusätzlich bleibt auf die Schwierigkeit der Realisierung von Branching hinzuweisen: Um Branches isoliert betreiben zu können, braucht jeder ABAP-Entwickler seine eigene SAP-Entwicklungsumgebung und ein eigenes SAP-Entwicklungssystem. Während dies bei On-Premise-Systemen zu einer sehr hohen Ressourcenauslastung führen kann, wird hier ausdrücklich auf die Verwendung der ABAP-Cloud-Platform geraten. Von Vorteil sind bei diesem Ansatz besonders die flexibel zu Verfügung stehenden Ressourcen, welche einfach hinzu gebucht werden können.

Zum Abschluss noch ein Tipp für die Verwendung von Git: Geben Sie immer eindeutige und klare Nachrichten für Ihr Commits in das Repository an. Dies kann die Lesbarkeit enorm verbessern und die Fehlerfindung erleichtern.

Ich freue mich auf Ihr Feedback, Anregungen und Erfahrungen mit dem Umgang von abapGit. Sollten Sie weitere Fragen haben, hinterlassen Sie gerne einen Kommentar.

 Save as PDF


Das könnte Sie auch interessieren

Wenn Programme eine zu lange Laufzeit für die Dialogverarbeitung benötigen, bietet es sich an, die Ausführung asynchron im Hintergrund zu starten und den Anwender nach Abschluss zu benachrichtigen.

weiterlesen

Archivierung ist in vielen Unternehmen ein zentrales Thema. SAP hat dafür das bekannte Konstrukt der Archivierungsobjekte geschaffen. Auch BOPF ist für die Verwendung in solchen Archivierungsobjekten vorbereitet. In Teil 2 […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice