SlideShare una empresa de Scribd logo
1 de 41
modern ABAP development with
2© emineo AG
whoami
 Christian Günter
 emineo AG
• based in Zürich
• ~80 employees
• IT Consulting
• Software Engineering
• SAP, Java and Webtechnologies
 @chris_guenter
 christian.guenter@emineo.ch
3© emineo AG
Agenda
What?
Why?
How?
Live Demo
4© emineo AG
What is git?
What is git?
 Version control system
 decentral and file based
 Created 2005 by Linus Torvalds
 Open Source
 De facto standard in non SAP software development
 Git hosting services: GitHub, GitLab, BitBucket, SCP…
5© emineo AG
What is git?
Source: OpenSAP - SAP Cloud Platform Version Control with Git by Arnaldo Cavazos
6© emineo AG
 Git client implemented in ABAP
 Open source project
 Started in 2014 by Lars Hvam Petersen
 MIT license
 Hosted on GitHub
 http://abapgit.org
What is abapGit?
What is abapGit?
7© emineo AG
What is abapGit?
49 Cotributors et.al.
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
What is abapGit?
What is abapGit?
 Online and offline repositories
 ~62 000 lines of code
 Min. release 7.02
 3 000 commits
 82 supported object types (CLAS, PROG, etc.)
9© emineo AG
What is abapGit?
Design goals of abapGit
 Easy to install
 Easy to update
 Small system footprint
 Code in the repository is readable
10© emineo AG
Why abapGit?
Why abapGit?
 Lack of features in SAP version control
 Versions are written during transport release
 Temporary versions are deleted
 Limited control for the developer
 No easy undo mechanism
 Some objects without proper version control
e.g. Smartforms
11© emineo AG
Why abapGit?
Why abapGit?
 Limited traceability
 What changed during the last two weeks?
 What changed since last release/transport?
 How did the code base look like three months ago?
12© emineo AG
Why abapGit?
Why abapGit?
13© emineo AG
Why abapGit?
Why abapGit?
 abapGit as backup
 Simplified and riskless experiments
 More transparency
 Enabler for DevOps
 Enabler for code reviews
 No substitute for SAP transport and release management
 abapGit as code archive or grave yard
14© emineo AG
Why abapGit?
Why abapGit?
 Install and contribute to open source projects
 http://dotabap.org/ - overview of ABAP projects
 Inofficial successor of SAPLink
15© emineo AG
How does abapGit work?
Online repository
16© emineo AG
How does abapGit work?
Offline repository
17© emineo AG
How does abapGit work?
Serialization and deserialization
18© emineo AG
How does abapGit work?
Demo
19© emineo AG
abapGit @emineo
abapGit @emineo
 Two ABAP based products
 Two SAP development teams
 01/2018: Start with abapGit in one team
 One development system each product
 BitBucket git server
 Git is default in non SAP teams
20© emineo AG
abapGit @emineo
04/2018: Start with product development
21© emineo AG
abapGit @emineo
Software delivery in product development
22© emineo AG
abapGit @emineo
 Offline repositories
Custom development
 Export zip
 Commit and push with local git client
 Usually no import
 Backup
 Central ABAP knowledge database
23© emineo AG
abapGit @emineo
 Migration of custom development
Migrations
 Zip file is exported
 Search and replace because of naming conventions
 Import Zip file in Offline repository
 Lots of repetitions – missing objects
 Objects are collected in a dummy transport request
24© emineo AG
abapGit @emineo
 It works
Lessons learned
 KISS
 Pratice with demo repos
 Keep your packages small
 Do experiments
 Steep learning curve of git -> good online ressources
25© emineo AG
abapGit @emineo
 Communication is important
Lessons learned
 Ongoing process of learning and improvement
 abapGit is improved steadily
 You can fix bugs yourself – and publish them
 Trust is important
 You can develop new features
26© emineo AG
abapGit @emineo
 Develop both products with abapGit
Goals
 Optimize our git workflow – more branches?
 Use pull requests in BitBucket
 Do code reviews in BitBucket
 All ABAP development is in a git repo
27© emineo AG
abapGit on SCP
”For code exchange, ABAP PaaS uses the well-known open
source solution abapGit (http://docs.abapgit.org).”
Source: https://blogs.sap.com/2018/09/04/sap-cloud-platform-abap-environment/
“We know that up to now, version control in ABAP is rather limited, and there is
little support for branching, merging or CI/CD (continuous integration/delivery)
tool chains. The goal is to renovate the ABAP step by step using a version
control system like Git without sacrificing the benefits of the ABAP change and
transport system.”
28© emineo AG
abapGit @emineo
Twitter wall
29© emineo AG
abapGit @emineo
Questions?
30© emineo AG
abapGit @emineo
Demo -
Backup
31© emineo AG
How does abapGit work?
.XML
32© emineo AG
How does abapGit work?
.ABAP
33© emineo AG
How does abapGit work?
One package (+ subpackages) = one git repository
Paket: $DSAG_DEMO
34© emineo AG
How does abapGit work?
Repository view
35© emineo AG
How does abapGit work?
Object changed
36© emineo AG
How does abapGit work?
Diff
37© emineo AG
How does abapGit work?
Stage and commit
38© emineo AG
How does abapGit work?
Commit history
39© emineo AG
How does abapGit work?
https://github.com/christianguenter2/DSAG_DEMO.git
DSAG_DEMO repository on GitHub
40© emineo AG
How does abapGit work?
Commit history
41© emineo AG
How does abapGit work?
Diff

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentation
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & Docker
 
Cilium + Istio with Gloo Mesh
Cilium + Istio with Gloo MeshCilium + Istio with Gloo Mesh
Cilium + Istio with Gloo Mesh
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operations
 
Red Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptxRed Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptx
 
Git flow
Git flowGit flow
Git flow
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptx
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 

Similar a #SitBERN modern abap development with abapgit

Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Gibran Badrulzaman
 
GitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposGitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your Repos
Weaveworks
 

Similar a #SitBERN modern abap development with abapgit (20)

SAP Stammtisch Frankfurt 2017-10-11 - abapGit introduction
SAP Stammtisch Frankfurt 2017-10-11 - abapGit introductionSAP Stammtisch Frankfurt 2017-10-11 - abapGit introduction
SAP Stammtisch Frankfurt 2017-10-11 - abapGit introduction
 
Evolution of GitLab Frontend
Evolution of GitLab FrontendEvolution of GitLab Frontend
Evolution of GitLab Frontend
 
Cloud Native with Kyma
Cloud Native with KymaCloud Native with Kyma
Cloud Native with Kyma
 
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
 
Beyond Gerrit @ Gerrit User Summit 2017, London
Beyond Gerrit @ Gerrit User Summit 2017, LondonBeyond Gerrit @ Gerrit User Summit 2017, London
Beyond Gerrit @ Gerrit User Summit 2017, London
 
GitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLabGitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLab
 
sitMUC 2018 - Speed up abap-unit data creation process
sitMUC 2018 - Speed up abap-unit data creation processsitMUC 2018 - Speed up abap-unit data creation process
sitMUC 2018 - Speed up abap-unit data creation process
 
Axway's Journey to the Cloud
Axway's Journey to the CloudAxway's Journey to the Cloud
Axway's Journey to the Cloud
 
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturaGitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
 
How to Achieve more through Collaboration
How to Achieve more through Collaboration How to Achieve more through Collaboration
How to Achieve more through Collaboration
 
Self Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository ManagersSelf Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository Managers
 
What's New in GitLab and Software Development Trends
What's New in GitLab and Software Development TrendsWhat's New in GitLab and Software Development Trends
What's New in GitLab and Software Development Trends
 
Api gitlab: configurazione dei progetti as a service
Api gitlab: configurazione dei progetti as a serviceApi gitlab: configurazione dei progetti as a service
Api gitlab: configurazione dei progetti as a service
 
SAP Hybris Commerce Technical Upgrade
SAP Hybris Commerce Technical UpgradeSAP Hybris Commerce Technical Upgrade
SAP Hybris Commerce Technical Upgrade
 
GitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposGitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your Repos
 
Sydney mule soft meetup #8 1 August 2019 - all slides
Sydney mule soft meetup #8   1 August 2019 - all slidesSydney mule soft meetup #8   1 August 2019 - all slides
Sydney mule soft meetup #8 1 August 2019 - all slides
 
DSAG Tech Days 2018 - DevOps in SAP ABAP Landscapes
DSAG Tech Days 2018 - DevOps in SAP ABAP LandscapesDSAG Tech Days 2018 - DevOps in SAP ABAP Landscapes
DSAG Tech Days 2018 - DevOps in SAP ABAP Landscapes
 
Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...
Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...
Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...
 

Último

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Último (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

#SitBERN modern abap development with abapgit

  • 2. 2© emineo AG whoami  Christian Günter  emineo AG • based in Zürich • ~80 employees • IT Consulting • Software Engineering • SAP, Java and Webtechnologies  @chris_guenter  christian.guenter@emineo.ch
  • 4. 4© emineo AG What is git? What is git?  Version control system  decentral and file based  Created 2005 by Linus Torvalds  Open Source  De facto standard in non SAP software development  Git hosting services: GitHub, GitLab, BitBucket, SCP…
  • 5. 5© emineo AG What is git? Source: OpenSAP - SAP Cloud Platform Version Control with Git by Arnaldo Cavazos
  • 6. 6© emineo AG  Git client implemented in ABAP  Open source project  Started in 2014 by Lars Hvam Petersen  MIT license  Hosted on GitHub  http://abapgit.org What is abapGit? What is abapGit?
  • 7. 7© emineo AG What is abapGit? 49 Cotributors et.al. 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 What is abapGit? What is abapGit?  Online and offline repositories  ~62 000 lines of code  Min. release 7.02  3 000 commits  82 supported object types (CLAS, PROG, etc.)
  • 9. 9© emineo AG What is abapGit? Design goals of abapGit  Easy to install  Easy to update  Small system footprint  Code in the repository is readable
  • 10. 10© emineo AG Why abapGit? Why abapGit?  Lack of features in SAP version control  Versions are written during transport release  Temporary versions are deleted  Limited control for the developer  No easy undo mechanism  Some objects without proper version control e.g. Smartforms
  • 11. 11© emineo AG Why abapGit? Why abapGit?  Limited traceability  What changed during the last two weeks?  What changed since last release/transport?  How did the code base look like three months ago?
  • 12. 12© emineo AG Why abapGit? Why abapGit?
  • 13. 13© emineo AG Why abapGit? Why abapGit?  abapGit as backup  Simplified and riskless experiments  More transparency  Enabler for DevOps  Enabler for code reviews  No substitute for SAP transport and release management  abapGit as code archive or grave yard
  • 14. 14© emineo AG Why abapGit? Why abapGit?  Install and contribute to open source projects  http://dotabap.org/ - overview of ABAP projects  Inofficial successor of SAPLink
  • 15. 15© emineo AG How does abapGit work? Online repository
  • 16. 16© emineo AG How does abapGit work? Offline repository
  • 17. 17© emineo AG How does abapGit work? Serialization and deserialization
  • 18. 18© emineo AG How does abapGit work? Demo
  • 19. 19© emineo AG abapGit @emineo abapGit @emineo  Two ABAP based products  Two SAP development teams  01/2018: Start with abapGit in one team  One development system each product  BitBucket git server  Git is default in non SAP teams
  • 20. 20© emineo AG abapGit @emineo 04/2018: Start with product development
  • 21. 21© emineo AG abapGit @emineo Software delivery in product development
  • 22. 22© emineo AG abapGit @emineo  Offline repositories Custom development  Export zip  Commit and push with local git client  Usually no import  Backup  Central ABAP knowledge database
  • 23. 23© emineo AG abapGit @emineo  Migration of custom development Migrations  Zip file is exported  Search and replace because of naming conventions  Import Zip file in Offline repository  Lots of repetitions – missing objects  Objects are collected in a dummy transport request
  • 24. 24© emineo AG abapGit @emineo  It works Lessons learned  KISS  Pratice with demo repos  Keep your packages small  Do experiments  Steep learning curve of git -> good online ressources
  • 25. 25© emineo AG abapGit @emineo  Communication is important Lessons learned  Ongoing process of learning and improvement  abapGit is improved steadily  You can fix bugs yourself – and publish them  Trust is important  You can develop new features
  • 26. 26© emineo AG abapGit @emineo  Develop both products with abapGit Goals  Optimize our git workflow – more branches?  Use pull requests in BitBucket  Do code reviews in BitBucket  All ABAP development is in a git repo
  • 27. 27© emineo AG abapGit on SCP ”For code exchange, ABAP PaaS uses the well-known open source solution abapGit (http://docs.abapgit.org).” Source: https://blogs.sap.com/2018/09/04/sap-cloud-platform-abap-environment/ “We know that up to now, version control in ABAP is rather limited, and there is little support for branching, merging or CI/CD (continuous integration/delivery) tool chains. The goal is to renovate the ABAP step by step using a version control system like Git without sacrificing the benefits of the ABAP change and transport system.”
  • 28. 28© emineo AG abapGit @emineo Twitter wall
  • 29. 29© emineo AG abapGit @emineo Questions?
  • 30. 30© emineo AG abapGit @emineo Demo - Backup
  • 31. 31© emineo AG How does abapGit work? .XML
  • 32. 32© emineo AG How does abapGit work? .ABAP
  • 33. 33© emineo AG How does abapGit work? One package (+ subpackages) = one git repository Paket: $DSAG_DEMO
  • 34. 34© emineo AG How does abapGit work? Repository view
  • 35. 35© emineo AG How does abapGit work? Object changed
  • 36. 36© emineo AG How does abapGit work? Diff
  • 37. 37© emineo AG How does abapGit work? Stage and commit
  • 38. 38© emineo AG How does abapGit work? Commit history
  • 39. 39© emineo AG How does abapGit work? https://github.com/christianguenter2/DSAG_DEMO.git DSAG_DEMO repository on GitHub
  • 40. 40© emineo AG How does abapGit work? Commit history
  • 41. 41© emineo AG How does abapGit work? Diff