Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Moderne abap entwicklung mit abapGit

409 Aufrufe

Veröffentlicht am

http://abapgit.org

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Moderne abap entwicklung mit abapGit

  1. 1. Moderne ABAP Entwicklung mit
  2. 2. 2© emineo AG whoami  Christian Günter  emineo AG • Sitz in Zürich • ~80 MA • IT Beratung • Software Engineering • SAP und non-SAP  @chris_guenter  christian.guenter@emineo.ch
  3. 3. 3© emineo AG Agenda Was? Warum? Wie? Live Demo
  4. 4. 4© emineo AG Was ist git? Was ist git?  Versionverwaltungssystem  Dezentral und dateibasiert  2005 erschaffen von Linus Torvalds  Open Source  De facto Standard in nicht SAP Softwareentwicklung  Bekannte git Hoster: GitHub, GitLab, BitBucket, SCP…
  5. 5. 5© emineo AG Was is git? Source: OpenSAP - SAP Cloud Platform Version Control with Git by Arnaldo Cavazos
  6. 6. 6© emineo AG  Git client implementiert in ABAP  Open Source Projekt  2014 gestartet von Lars Hvam Petersen  MIT Lizenz  Gehostet auf GitHub  http://abapgit.org Was ist abapGit? Was ist abapGit?
  7. 7. 7© emineo AG Was ist abapGit? 43 Mitwirkende: u.a. Alexander Tsybulsky Eduardo Copat Oliver Jägle Svitlana Shlapak Andrei Vishnevsky Bohdan Petrushchak Graham Robinson Gregor Wolf Nuno Godinho Fabio Zuber Fabian Lupa Christian Günter Christian Tapia Sabogal Domi Bigl Giovanni Degani Kasper Vilhelm Torp Christian Pfaller Alex Chan Lars Hvam Petersen Pascal Jakub Filak Johannes Konings
  8. 8. 8© emineo AG Was ist abapGit? Was ist abapGit?  Online und Offline Repositories  ~66 000 Zeilen Code  Min. Release 7.02  2 700 commits  82 Objektypen werden unterstützt (CLAS, PROG, uvam.)
  9. 9. 9© emineo AG Was ist abapGit? Designziele von abapGit  Leicht zu installieren  Leicht zu aktualisieren  Schmaler Fußabdruck im System  Code soll im git Repository lesbar sein
  10. 10. 10© emineo AG Warum abapGit? Warum abapGit?  Optimierungspotenzial in der SAP Versionsverwaltung  Versionen nur bei Transportfreigabe  Temporäre Versionen werden gelöscht  Entwickler hat wenig/keine Kontrolle über Versionierung  Keine einfachen Rollbacks  Manche Objekte ohne Versionsverwaltung: z.B. Smartforms
  11. 11. 11© emineo AG Warum abapGit? Warum abapGit?  Eingeschränkte Nachverfolgbarkeit  Was wurde in den letzten 2 Wochen alles geändert?  Was wurde seit letztem Release/Transport geändert?  Wie sah der Code vor drei Monaten aus?
  12. 12. 12© emineo AG Warum abapGit? Warum abapGit?
  13. 13. 13© emineo AG Warum abapGit? Warum abapGit?  abapGit als Backup  Experimente mit Code problemlos möglich  Mehr Transparenz  Enabler für DevOps  Enabler für Code Reviews  Kein Ersatz des SAP Transportsystems!  abapGit als Code Archiv
  14. 14. 14© emineo AG Warum abapGit? Warum abapGit?  Installation von Open Source Projekten  http://dotabap.org/ - Übersicht aller ABAP Projekte  Inoffizieller Nachfolger von SAPLink
  15. 15. 15© emineo AG Wie funktioniert abapGit? Online Repository
  16. 16. 16© emineo AG Wie funktioniert abapGit? Offline Repository
  17. 17. 17© emineo AG Wie funktioniert abapGit? Serialisierung und Deserialisierung
  18. 18. 18© emineo AG Wie funktioniert abapGit? Demo
  19. 19. 19© emineo AG Wie funktioniert abapGit? .XML
  20. 20. 20© emineo AG Wie funktioniert abapGit? .ABAP
  21. 21. 21© emineo AG Wie funktioniert abapGit? Ein Paket (+ Unterpakete) = ein git Repository Paket: $DSAG_DEMO
  22. 22. 22© emineo AG Wie funktioniert abapGit? Repository Ansicht
  23. 23. 23© emineo AG Wie funktioniert abapGit? Objekt geändert
  24. 24. 24© emineo AG Wie funktioniert abapGit? Diff
  25. 25. 25© emineo AG Wie funktioniert abapGit? Stage und Commit
  26. 26. 26© emineo AG Wie funktioniert abapGit? Commit Historie
  27. 27. 27© emineo AG Wie funktioniert abapGit? https://github.com/christianguenter2/DSAG_DEMO.git DSAG_DEMO Repository auf GitHub
  28. 28. 28© emineo AG Wie funktioniert abapGit? Commit Historie
  29. 29. 29© emineo AG Wie funktioniert abapGit? Diff
  30. 30. 30© emineo AG abapGit @emineo abapGit @emineo  Zwei ABAP Produkte  Zwei SAP Entwicklungsteams  01/2018: Start abapGit Nutzung in einem Team  Je ein Entwicklungssystem  BitBucket git Server  Git ist Standard im Nicht-SAP Bereich
  31. 31. 31© emineo AG abapGit @emineo 04/2018: Einsatz in Produktentwicklung
  32. 32. 32© emineo AG abapGit @emineo Softwareauslieferung
  33. 33. 33© emineo AG abapGit @emineo  Offline Repositories Custom Development  Export Zip  Commit und Push mit lokalem git Client  Normalerweise kein Import  Backup  Zentrale ABAP Wissens-“Datenbank”
  34. 34. 34© emineo AG abapGit @emineo  Migration von Kundenentwicklungen Migrationen  Zip Datei wird exportiert  Suchen und Ersetzen -> Namenskonvention  Zip in Offline Repository importieren  Viele Wiederholungen  Objekte werden in Dummy Transport gesammelt
  35. 35. 35© emineo AG abapGit @emineo  Es funktioniert Lessons learned  Klein und einfach anfangen  Üben mit Demo Repositories  Pakete klein halten  Experimentieren  Steile lernkurve von git -> gute Online Materialien
  36. 36. 36© emineo AG abapGit @emineo  Kommunikation ist wichtig Lessons learned  Ständiges lernen und optimieren  abapGit wird stetig verbessert  Bugs können selbst gefixt werden  Vertrauen ist wichtig  Neue Features können selbst entwickelt werden
  37. 37. 37© emineo AG abapGit @emineo  Alle ABAP Produkte mit abapGit verwalten Ziele  Git Workflow optimieren - mehr Branching?  Pull Requests in BitBucket nutzen  Code Reviews in BitBucket machen  Alle ABAP Entwicklungen sind im git
  38. 38. 38© emineo AG abapGit @emineo Twitter Wall
  39. 39. 39© emineo AG abapGit @emineo Fragen?
  40. 40. 40© emineo AG abapGit @emineo Demo

×