SlideShare ist ein Scribd-Unternehmen logo
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

Weitere ähnliche Inhalte

Was ist angesagt?

Enterprise Architecture in Strategy Deployment
Enterprise Architecture in Strategy DeploymentEnterprise Architecture in Strategy Deployment
Enterprise Architecture in Strategy Deployment
Jouko Poutanen
 
BTABOK / ITABOK
BTABOK / ITABOKBTABOK / ITABOK
BTABOK / ITABOK
Maganathin Veeraragaloo
 
Hybrid integration reference architecture
Hybrid integration reference architectureHybrid integration reference architecture
Hybrid integration reference architecture
Kim Clark
 
Target Architecture And Landscape
Target Architecture And LandscapeTarget Architecture And Landscape
Target Architecture And Landscape
Ajay Kumar Uppal
 
Black Box Global Corporate Presentation - Jul'23
Black Box Global Corporate Presentation - Jul'23Black Box Global Corporate Presentation - Jul'23
Black Box Global Corporate Presentation - Jul'23
Black Box
 
Running the Business of IT on ServiceNow using IT4IT
Running the Business of IT on ServiceNow using IT4ITRunning the Business of IT on ServiceNow using IT4IT
Running the Business of IT on ServiceNow using IT4IT
cccamericas
 
Togaf 9 an introduction
Togaf 9   an introductionTogaf 9   an introduction
Togaf 9 an introduction
Daan Bakboord
 
Solution Guide I / 2020_1
Solution Guide I / 2020_1Solution Guide I / 2020_1
Solution Guide I / 2020_1
Communardo GmbH
 
The Business Case for Sustainable Property: GRESB Event with Credit Suisse an...
The Business Case for Sustainable Property: GRESB Event with Credit Suisse an...The Business Case for Sustainable Property: GRESB Event with Credit Suisse an...
The Business Case for Sustainable Property: GRESB Event with Credit Suisse an...
GRESB
 
Modeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMateModeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMate
Iver Band
 
Creating An EA Governance Organization
Creating An EA Governance OrganizationCreating An EA Governance Organization
Creating An EA Governance Organization
Chip Wilson
 
Company Profile Petakumpet
Company Profile Petakumpet Company Profile Petakumpet
Company Profile Petakumpet
M. Arief Budiman
 
Startup CTO Role v3
Startup CTO Role v3Startup CTO Role v3
Startup CTO Role v3
Bryan Starbuck
 
Social-Media-Studie-2022.pdf
Social-Media-Studie-2022.pdfSocial-Media-Studie-2022.pdf
Social-Media-Studie-2022.pdf
xeit AG
 
Transforming the industry that transformed the world
Transforming the industry that transformed the worldTransforming the industry that transformed the world
Transforming the industry that transformed the world
accenture
 
Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...
Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...
Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...
Alan McSweeney
 
Smarter Supply Chain – IBM Case Study in Supply Chain Transformation and Inno...
Smarter Supply Chain – IBM Case Study in Supply Chain Transformation and Inno...Smarter Supply Chain – IBM Case Study in Supply Chain Transformation and Inno...
Smarter Supply Chain – IBM Case Study in Supply Chain Transformation and Inno...
NUS-ISS
 
Future-ready Insurance Systems – An Insurer’s Guide to Optimizing Technology ...
Future-ready Insurance Systems – An Insurer’s Guide to Optimizing Technology ...Future-ready Insurance Systems – An Insurer’s Guide to Optimizing Technology ...
Future-ready Insurance Systems – An Insurer’s Guide to Optimizing Technology ...
Accenture Insurance
 
ArchiMate® 3.0 - Trick or Treat?
ArchiMate® 3.0 - Trick or Treat?ArchiMate® 3.0 - Trick or Treat?
ArchiMate® 3.0 - Trick or Treat?
Real IRM
 
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
OutSystems
 

Was ist angesagt? (20)

Enterprise Architecture in Strategy Deployment
Enterprise Architecture in Strategy DeploymentEnterprise Architecture in Strategy Deployment
Enterprise Architecture in Strategy Deployment
 
BTABOK / ITABOK
BTABOK / ITABOKBTABOK / ITABOK
BTABOK / ITABOK
 
Hybrid integration reference architecture
Hybrid integration reference architectureHybrid integration reference architecture
Hybrid integration reference architecture
 
Target Architecture And Landscape
Target Architecture And LandscapeTarget Architecture And Landscape
Target Architecture And Landscape
 
Black Box Global Corporate Presentation - Jul'23
Black Box Global Corporate Presentation - Jul'23Black Box Global Corporate Presentation - Jul'23
Black Box Global Corporate Presentation - Jul'23
 
Running the Business of IT on ServiceNow using IT4IT
Running the Business of IT on ServiceNow using IT4ITRunning the Business of IT on ServiceNow using IT4IT
Running the Business of IT on ServiceNow using IT4IT
 
Togaf 9 an introduction
Togaf 9   an introductionTogaf 9   an introduction
Togaf 9 an introduction
 
Solution Guide I / 2020_1
Solution Guide I / 2020_1Solution Guide I / 2020_1
Solution Guide I / 2020_1
 
The Business Case for Sustainable Property: GRESB Event with Credit Suisse an...
The Business Case for Sustainable Property: GRESB Event with Credit Suisse an...The Business Case for Sustainable Property: GRESB Event with Credit Suisse an...
The Business Case for Sustainable Property: GRESB Event with Credit Suisse an...
 
Modeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMateModeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMate
 
Creating An EA Governance Organization
Creating An EA Governance OrganizationCreating An EA Governance Organization
Creating An EA Governance Organization
 
Company Profile Petakumpet
Company Profile Petakumpet Company Profile Petakumpet
Company Profile Petakumpet
 
Startup CTO Role v3
Startup CTO Role v3Startup CTO Role v3
Startup CTO Role v3
 
Social-Media-Studie-2022.pdf
Social-Media-Studie-2022.pdfSocial-Media-Studie-2022.pdf
Social-Media-Studie-2022.pdf
 
Transforming the industry that transformed the world
Transforming the industry that transformed the worldTransforming the industry that transformed the world
Transforming the industry that transformed the world
 
Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...
Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...
Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...
 
Smarter Supply Chain – IBM Case Study in Supply Chain Transformation and Inno...
Smarter Supply Chain – IBM Case Study in Supply Chain Transformation and Inno...Smarter Supply Chain – IBM Case Study in Supply Chain Transformation and Inno...
Smarter Supply Chain – IBM Case Study in Supply Chain Transformation and Inno...
 
Future-ready Insurance Systems – An Insurer’s Guide to Optimizing Technology ...
Future-ready Insurance Systems – An Insurer’s Guide to Optimizing Technology ...Future-ready Insurance Systems – An Insurer’s Guide to Optimizing Technology ...
Future-ready Insurance Systems – An Insurer’s Guide to Optimizing Technology ...
 
ArchiMate® 3.0 - Trick or Treat?
ArchiMate® 3.0 - Trick or Treat?ArchiMate® 3.0 - Trick or Treat?
ArchiMate® 3.0 - Trick or Treat?
 
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
 

Ähnlich wie Moderne abap entwicklung mit abapGit

DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigen
FotiosKaramitsos
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - German
CollabNet
 
Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und Gerrit
Stefan Lay
 
Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011
Stefan 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 cloud
Andreas 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/2018
Kai 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 Fachanwendungen
gedoplan
 
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 Hirt
Verein FM Konferenz
 
2012_10 SNoUG Building Social Software
2012_10 SNoUG Building Social Software2012_10 SNoUG Building Social Software
2012_10 SNoUG Building Social Software
Roman Weber
 
Build Automation for Mobile
Build Automation for MobileBuild Automation for Mobile
Build Automation for Mobile
inovex 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 LTS
CS2 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 Unternehmen
Bjoern 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 Unternehmen
Bjoern 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
 
G&L Tech News 02/17
G&L Tech News 02/17G&L Tech News 02/17

Ähnlich wie 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