SlideShare una empresa de Scribd logo
1 de 40
Moderne ABAP Entwicklung mit
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© emineo AG
Agenda
Was?
Warum?
Wie?
Live Demo
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© emineo AG
Was is git?
Source: OpenSAP - SAP Cloud Platform Version Control with Git by Arnaldo Cavazos
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© 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© 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© 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© 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© 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© emineo AG
Warum abapGit?
Warum abapGit?
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© emineo AG
Warum abapGit?
Warum abapGit?
 Installation von Open Source Projekten
 http://dotabap.org/ - Übersicht aller ABAP Projekte
 Inoffizieller Nachfolger von SAPLink
15© emineo AG
Wie funktioniert abapGit?
Online Repository
16© emineo AG
Wie funktioniert abapGit?
Offline Repository
17© emineo AG
Wie funktioniert abapGit?
Serialisierung und Deserialisierung
18© emineo AG
Wie funktioniert abapGit?
Demo
19© emineo AG
Wie funktioniert abapGit?
.XML
20© emineo AG
Wie funktioniert abapGit?
.ABAP
21© emineo AG
Wie funktioniert abapGit?
Ein Paket (+ Unterpakete) = ein git Repository
Paket: $DSAG_DEMO
22© emineo AG
Wie funktioniert abapGit?
Repository Ansicht
23© emineo AG
Wie funktioniert abapGit?
Objekt geändert
24© emineo AG
Wie funktioniert abapGit?
Diff
25© emineo AG
Wie funktioniert abapGit?
Stage und Commit
26© emineo AG
Wie funktioniert abapGit?
Commit Historie
27© emineo AG
Wie funktioniert abapGit?
https://github.com/christianguenter2/DSAG_DEMO.git
DSAG_DEMO Repository auf GitHub
28© emineo AG
Wie funktioniert abapGit?
Commit Historie
29© emineo AG
Wie funktioniert abapGit?
Diff
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© emineo AG
abapGit @emineo
04/2018: Einsatz in Produktentwicklung
32© emineo AG
abapGit @emineo
Softwareauslieferung
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© 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© 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© 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© 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© emineo AG
abapGit @emineo
Twitter Wall
39© emineo AG
abapGit @emineo
Fragen?
40© emineo AG
abapGit @emineo
Demo

Más contenido relacionado

La actualidad más candente

Delay, dispute (1st annual conf. of planning in cairo 23-8-2014) engr. m maged
Delay, dispute  (1st annual conf. of planning in cairo 23-8-2014) engr. m magedDelay, dispute  (1st annual conf. of planning in cairo 23-8-2014) engr. m maged
Delay, dispute (1st annual conf. of planning in cairo 23-8-2014) engr. m magedM Maged Hegazy, LLM, MBA, CCP, P3O
 
Second edition epc project rule of credit and progress measurement promo
Second edition epc project rule of credit and progress measurement promoSecond edition epc project rule of credit and progress measurement promo
Second edition epc project rule of credit and progress measurement promoignitetribes
 
Delay analysis ... wise after the event.
Delay analysis ... wise after the event.Delay analysis ... wise after the event.
Delay analysis ... wise after the event.Tim Lloyd
 
Time Impact Analysis
Time Impact AnalysisTime Impact Analysis
Time Impact AnalysisChris Carson
 
Recovery Scheduling
Recovery SchedulingRecovery Scheduling
Recovery SchedulingChris Carson
 
How to prepare recovery or revised schedule rev.2
How to prepare recovery or revised schedule rev.2How to prepare recovery or revised schedule rev.2
How to prepare recovery or revised schedule rev.2Abdelhay Ghanem
 
Claims Management, Extension of Time (EOT) and Delays Analysis
Claims Management, Extension of Time (EOT) and Delays AnalysisClaims Management, Extension of Time (EOT) and Delays Analysis
Claims Management, Extension of Time (EOT) and Delays AnalysisPlanning Engineer Est.
 
PMP-Schedule Management area
PMP-Schedule Management areaPMP-Schedule Management area
PMP-Schedule Management areaZaur Ahmadov, PMP
 
Promo_Epc project rule of credit and progress measurement
Promo_Epc project rule of credit and progress measurement Promo_Epc project rule of credit and progress measurement
Promo_Epc project rule of credit and progress measurement ignitetribes
 

La actualidad más candente (20)

Delay, dispute (1st annual conf. of planning in cairo 23-8-2014) engr. m maged
Delay, dispute  (1st annual conf. of planning in cairo 23-8-2014) engr. m magedDelay, dispute  (1st annual conf. of planning in cairo 23-8-2014) engr. m maged
Delay, dispute (1st annual conf. of planning in cairo 23-8-2014) engr. m maged
 
Performance Measurement and Weightage Systems
Performance Measurement and Weightage SystemsPerformance Measurement and Weightage Systems
Performance Measurement and Weightage Systems
 
Second edition epc project rule of credit and progress measurement promo
Second edition epc project rule of credit and progress measurement promoSecond edition epc project rule of credit and progress measurement promo
Second edition epc project rule of credit and progress measurement promo
 
EPMO: Putting the pieces together as true game changer!
EPMO: Putting the pieces together as true game  changer!EPMO: Putting the pieces together as true game  changer!
EPMO: Putting the pieces together as true game changer!
 
The Project Management Plan in 20 steps
The Project Management Plan in 20 stepsThe Project Management Plan in 20 steps
The Project Management Plan in 20 steps
 
Top10 planning fundamentals...
Top10 planning fundamentals...Top10 planning fundamentals...
Top10 planning fundamentals...
 
Project Scheduling & Controls
Project Scheduling & ControlsProject Scheduling & Controls
Project Scheduling & Controls
 
Delay analysis ... wise after the event.
Delay analysis ... wise after the event.Delay analysis ... wise after the event.
Delay analysis ... wise after the event.
 
50 qts مقابلة عمل planning
50 qts مقابلة عمل planning50 qts مقابلة عمل planning
50 qts مقابلة عمل planning
 
Time Impact Analysis
Time Impact AnalysisTime Impact Analysis
Time Impact Analysis
 
Pmp Final Review - M Maged
Pmp Final Review - M MagedPmp Final Review - M Maged
Pmp Final Review - M Maged
 
Recovery Scheduling
Recovery SchedulingRecovery Scheduling
Recovery Scheduling
 
How to prepare recovery or revised schedule rev.2
How to prepare recovery or revised schedule rev.2How to prepare recovery or revised schedule rev.2
How to prepare recovery or revised schedule rev.2
 
Claims Management, Extension of Time (EOT) and Delays Analysis
Claims Management, Extension of Time (EOT) and Delays AnalysisClaims Management, Extension of Time (EOT) and Delays Analysis
Claims Management, Extension of Time (EOT) and Delays Analysis
 
PMP-Schedule Management area
PMP-Schedule Management areaPMP-Schedule Management area
PMP-Schedule Management area
 
Platinum card for agile ev mr4
Platinum card for agile ev mr4Platinum card for agile ev mr4
Platinum card for agile ev mr4
 
CCP Technical Paper and Application
CCP Technical Paper and ApplicationCCP Technical Paper and Application
CCP Technical Paper and Application
 
Promo_Epc project rule of credit and progress measurement
Promo_Epc project rule of credit and progress measurement Promo_Epc project rule of credit and progress measurement
Promo_Epc project rule of credit and progress measurement
 
Eot claims hr__may2012
Eot claims hr__may2012Eot claims hr__may2012
Eot claims hr__may2012
 
Delay - EOT claims
Delay - EOT claimsDelay - EOT claims
Delay - EOT claims
 

Similar a Moderne abap entwicklung mit abapGit

DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenFotiosKaramitsos
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanCollabNet
 
Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und GerritStefan Lay
 
Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011Stefan Lay
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudAndreas Günzel
 
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...msohn
 
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...Marc Müller
 
Neues aus der TYPO3 Welt 10/2018
Neues aus der TYPO3 Welt 10/2018Neues aus der TYPO3 Welt 10/2018
Neues aus der TYPO3 Welt 10/2018Kai Unterberg
 
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...inovex GmbH
 
jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen
 jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen
jBPM und Drools: Prozess- und Regelgestützte Fachanwendungengedoplan
 
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...Marc Müller
 
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtFMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtVerein FM Konferenz
 
2012_10 SNoUG Building Social Software
2012_10 SNoUG Building Social Software2012_10 SNoUG Building Social Software
2012_10 SNoUG Building Social SoftwareRoman Weber
 
Build Automation for Mobile
Build Automation for MobileBuild Automation for Mobile
Build Automation for Mobileinovex GmbH
 
Git: Grundlagen der Versionsverwaltung (Webinar vom 17.06.2015)
Git: Grundlagen der Versionsverwaltung (Webinar vom 17.06.2015)Git: Grundlagen der Versionsverwaltung (Webinar vom 17.06.2015)
Git: Grundlagen der Versionsverwaltung (Webinar vom 17.06.2015)NETWAYS
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSCS2 AG
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]Tommy Ziegler
 

Similar a Moderne abap entwicklung mit abapGit (20)

DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigen
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - German
 
Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und Gerrit
 
Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
 
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
 
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
 
Neues aus der TYPO3 Welt 10/2018
Neues aus der TYPO3 Welt 10/2018Neues aus der TYPO3 Welt 10/2018
Neues aus der TYPO3 Welt 10/2018
 
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
 
jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen
 jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen
jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen
 
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
 
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtFMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
 
2012_10 SNoUG Building Social Software
2012_10 SNoUG Building Social Software2012_10 SNoUG Building Social Software
2012_10 SNoUG Building Social Software
 
Build Automation for Mobile
Build Automation for MobileBuild Automation for Mobile
Build Automation for Mobile
 
Git: Grundlagen der Versionsverwaltung (Webinar vom 17.06.2015)
Git: Grundlagen der Versionsverwaltung (Webinar vom 17.06.2015)Git: Grundlagen der Versionsverwaltung (Webinar vom 17.06.2015)
Git: Grundlagen der Versionsverwaltung (Webinar vom 17.06.2015)
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTS
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
 
G&L Tech News 02/17
G&L Tech News 02/17G&L Tech News 02/17
G&L Tech News 02/17
 

Moderne abap entwicklung mit abapGit

  • 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
  • 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© emineo AG Was is git? Source: OpenSAP - SAP Cloud Platform Version Control with Git by Arnaldo Cavazos
  • 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© 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© 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© 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© 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© 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© emineo AG Warum abapGit? Warum abapGit?
  • 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© emineo AG Warum abapGit? Warum abapGit?  Installation von Open Source Projekten  http://dotabap.org/ - Übersicht aller ABAP Projekte  Inoffizieller Nachfolger von SAPLink
  • 15. 15© emineo AG Wie funktioniert abapGit? Online Repository
  • 16. 16© emineo AG Wie funktioniert abapGit? Offline Repository
  • 17. 17© emineo AG Wie funktioniert abapGit? Serialisierung und Deserialisierung
  • 18. 18© emineo AG Wie funktioniert abapGit? Demo
  • 19. 19© emineo AG Wie funktioniert abapGit? .XML
  • 20. 20© emineo AG Wie funktioniert abapGit? .ABAP
  • 21. 21© emineo AG Wie funktioniert abapGit? Ein Paket (+ Unterpakete) = ein git Repository Paket: $DSAG_DEMO
  • 22. 22© emineo AG Wie funktioniert abapGit? Repository Ansicht
  • 23. 23© emineo AG Wie funktioniert abapGit? Objekt geändert
  • 24. 24© emineo AG Wie funktioniert abapGit? Diff
  • 25. 25© emineo AG Wie funktioniert abapGit? Stage und Commit
  • 26. 26© emineo AG Wie funktioniert abapGit? Commit Historie
  • 27. 27© emineo AG Wie funktioniert abapGit? https://github.com/christianguenter2/DSAG_DEMO.git DSAG_DEMO Repository auf GitHub
  • 28. 28© emineo AG Wie funktioniert abapGit? Commit Historie
  • 29. 29© emineo AG Wie funktioniert abapGit? Diff
  • 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© emineo AG abapGit @emineo 04/2018: Einsatz in Produktentwicklung
  • 32. 32© emineo AG abapGit @emineo Softwareauslieferung
  • 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© 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© 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© 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© 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© emineo AG abapGit @emineo Twitter Wall
  • 39. 39© emineo AG abapGit @emineo Fragen?
  • 40. 40© emineo AG abapGit @emineo Demo