SlideShare a Scribd company logo
Git in the Enterprise
How to succeed at DevOps using
Git and a monorepo
Job van der Voort
VP of Product
GitLab
Matt Attaway
VP of Community
Support
Perforce
3
What We’ll Talk about Today
•  When Git meets DevOps
•  Managing Git teams/projects
•  Issue tracking & wikis
•  Integrating CI into dev
•  Integration testing
•  Advantages of the monorepo
3
4
Git is a Very Popular 10-year Old
3
2005 2015
of developers use Git
69.3%
— 2015 Stack Overflow
Developer Survey
5
DevOps is Growing in the Enterprise
5
69.3%
2005 2015
63%
— State of DevOps Report
Puppet Labs
of developers use Git of Enterprises are
practicing DevOps
— 2015 Stack Overflow
Developer Survey
6
When Git & DevOps Collide
•  Maximum practical repository size
•  Git sprawl
•  Too complex a tool for non-technical
contributors
•  Raises security concerns
•  Little visibility across the product
development pipeline
•  Creates challenges for DevOps team
practicing continuous delivery
Git Can Pose Issues for the Enterprise
DevOps is about Communication, Not Tools
•  You can’t buy a DevOps tool
•  You can’t hire a DevOps engineer
•  DevOps is about bringing your dev
and ops teams together, not
inventing a new team
You Do Use Tools to Communicate, Though
•  Chat/IRC/Slack
•  Email
•  Issue tracker
•  Wiki
•  Version control
As you implement DevOps, the tools you choose
and how you use them will matter
Everyone is a Snowflake
•  Each company and team is different
•  Those differences are usually for good reasons
•  Think about how you are using your tools to
communicate:
-  What’s hard?
-  What is more complex than it needs to be?
Your version control system is your primary
communication tool between Dev and Ops.
You can use Git without a GMS…
You can use Git without a GMS…
…but no sane person does.
Why?
•  Git repos are easy to find and access
•  Provides a place to communicate about code
•  Issue tracker
•  Wiki
•  One-stop shopping
15
Teams and Projects in Git
•  Be Agile in your Projects
•  Small teams
•  Small projects
•  In Git, create smaller repositories
•  Split up legacy projects
Being Agile
16
•  Everyone has full access to the repository
•  Everyone can push new branches
•  Keep your Git flow simple
•  Avoid over-management of branches
•  Getting started should always be easy
Working with Git the way it’s intended
Teams and Projects in Git
17
•  Use Protected branches to enforce code review
•  and to protect your master, production branches
•  Use Approvals to ensure owners of the code
see and review the changes before merging
•  Always do code review
•  Many small merges are better than few large merges
Using the right tools
Teams and Projects in Git
Issue tracking is also a key place where
Ops and Dev communicate
Issue trackers can become a battlefield
Use the simplest tool possible.
Simple tools aren’t magically better, but they
keep process focused on communication
•  Clean conversations/commenting system
•  Basic voting
•  Minimal, project specific custom fields
•  Your GMS probably has everything you need
You might need a standalone issue tracker if...
•  You’re in a regulated industry
•  You have a lot of non-developer contributors
•  You have a very large backlog
Collect as little data as is reasonable
GMS wikis are good enough for a technical audience
•  If you need tables or have users that dislike Markdown,
you’ll need a standalone tool
•  Create projects for teams to handle team wikis
•  Runbooks are perfect for GMS wikis (and are versioned!)
Keeping everything that is related in one
place improves communication
•  Bouncing between tools makes it easy to get lost
•  Keeping info together helps keep devs in the flow
26
Continuous Integration Integrated
•  You want to be confident in your code, CI allows you
to shield anything that doesn’t pass your criteria
•  You can move faster, no need to wait for complex
builds to finish before moving on
•  See progress in stability, coverage and developer
confidence
Why CI is important
27
Continuous Integration Integrated
•  Fully Integrated: You always know whether a commit
has passed
•  Based on Git: Your build script (.gitlab-ci.yml) is
versioned and therefore will always work, no matter
how old the commit
•  Artefacts, Coverage, Statistics, Deployment
•  Merge when Build Succeeds: Ultimate timesaver
CI in GitLab
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Lots of projects are great for keeping
context of each project tightly confined,
bad for integration testing.
Perfect world: version independence
In the Real World…
•  3 components just went live
•  They’ve never been tested together;
they should be fine
•  Site is down
Monorepos give you points in time
for integration testing.
You can do this on your own…
… but then you’re building a version
control system.
Famous Monorepos
You can get code reuse with a GMS,
but only a monorepo makes integration
testing of components easy.
Job van der Voort
VP of Product
GitLab
Matt Attaway
VP of Community
Support
Perforce
Questions?

More Related Content

What's hot (20)

PDF
GitLab Commit: Enhance your Compliance with Policy-Based CI/CD
Nico Meisenzahl
 
PDF
Introducing GitLab
Taisuke Inoue
 
PDF
GitOps with ArgoCD
CloudOps2005
 
PDF
Cloud Native Engineering with SRE and GitOps
Weaveworks
 
PDF
Enterprise CI as-a-Service using Jenkins
CollabNet
 
PDF
Perforce - Under New Management by Konrad Litwin
Perforce
 
PDF
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Weaveworks
 
PDF
A DevSecOps Demo: Early, Everywhere, At Scale
XebiaLabs
 
PPT
Introduction to git and stash
Xpand IT
 
PPTX
Deploy multi-environment application with Azure DevOps
Andrea Tosato
 
PDF
Cloud native CI/CD with GitOps
Antonio Liccardi
 
PDF
DevOps Transformation in Technical
Opsta
 
PDF
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Serena Software
 
PDF
Introduction to Git
InCycleSoftware
 
PPTX
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Serena Software
 
PDF
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
Ambassador Labs
 
PPTX
Maven, Archiva, Subversion and Team City
Boy Tech
 
PPTX
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
PDF
Embracing Observability in CI/CD with OpenTelemetry
Cyrille Le Clerc
 
PDF
The printing press of 2021 - using GitLab to publish the VSHN Handbook
Aarno Aukia
 
GitLab Commit: Enhance your Compliance with Policy-Based CI/CD
Nico Meisenzahl
 
Introducing GitLab
Taisuke Inoue
 
GitOps with ArgoCD
CloudOps2005
 
Cloud Native Engineering with SRE and GitOps
Weaveworks
 
Enterprise CI as-a-Service using Jenkins
CollabNet
 
Perforce - Under New Management by Konrad Litwin
Perforce
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Weaveworks
 
A DevSecOps Demo: Early, Everywhere, At Scale
XebiaLabs
 
Introduction to git and stash
Xpand IT
 
Deploy multi-environment application with Azure DevOps
Andrea Tosato
 
Cloud native CI/CD with GitOps
Antonio Liccardi
 
DevOps Transformation in Technical
Opsta
 
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Serena Software
 
Introduction to Git
InCycleSoftware
 
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Serena Software
 
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
Ambassador Labs
 
Maven, Archiva, Subversion and Team City
Boy Tech
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
Embracing Observability in CI/CD with OpenTelemetry
Cyrille Le Clerc
 
The printing press of 2021 - using GitLab to publish the VSHN Handbook
Aarno Aukia
 

Viewers also liked (12)

PDF
Dev with github enterprise
Hiroshi Wada
 
PPTX
The R.O.A.D to DevOps
SeniorStoryteller
 
PPTX
Hero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and Docker
SeniorStoryteller
 
PDF
Git/Gerrit with TeamForge
CollabNet
 
PDF
Inside GitHub
err
 
PPTX
Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
SeniorStoryteller
 
PDF
NetflixFinal
Jennifer Turner
 
PPTX
Scaling Rugged DevOps to Thousands of Applications - Panel Discussion
SeniorStoryteller
 
PDF
Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...
SeniorStoryteller
 
PDF
Implementing DevOps in a Regulated Environment - DJ Schleen
SeniorStoryteller
 
PDF
ASiT Poster v0.81
Guy Stanley
 
PDF
Enterprise Git
LotharSchubert
 
Dev with github enterprise
Hiroshi Wada
 
The R.O.A.D to DevOps
SeniorStoryteller
 
Hero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and Docker
SeniorStoryteller
 
Git/Gerrit with TeamForge
CollabNet
 
Inside GitHub
err
 
Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
SeniorStoryteller
 
NetflixFinal
Jennifer Turner
 
Scaling Rugged DevOps to Thousands of Applications - Panel Discussion
SeniorStoryteller
 
Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...
SeniorStoryteller
 
Implementing DevOps in a Regulated Environment - DJ Schleen
SeniorStoryteller
 
ASiT Poster v0.81
Guy Stanley
 
Enterprise Git
LotharSchubert
 
Ad

Similar to Git in the Enterprise: How to succeed at DevOps using Git and a monorepo (20)

PDF
Be a Happier Developer with Git / Productive Team #gettinggitright
Shunsuke (Sean) Osawa
 
PDF
Enterprise git
Pedro Melo
 
PDF
Intro to Gitflow
Ben Speakmon
 
PDF
True Git
colleenfry
 
PDF
Gitting better
Ali Servet Donmez
 
PDF
Download full ebook of Version Control With Git Jon Loeliger instant download...
nhywosmogs408
 
PDF
Version Control With Git Powerful Tools And Techniques For Collaborative Soft...
demorieyo
 
PDF
Git Tutorial
Ahmed Taha
 
PPTX
Do you git it
Hridyesh Bisht
 
PPTX
GIT INTRODUCTION
MohanRaviRohitth
 
PPTX
Git & GitLab
Gaurav Wable
 
PDF
Git introduction for Beginners
MortezaTaghaddomi
 
PPTX
Basics of git
Ahmed Al-sabsab
 
PDF
Git Branching for Agile Teams
Atlassian
 
PPTX
finall_(1).pptx
meseret akalu
 
PDF
Git with t for teams
Sven Peters
 
PDF
Git Pocket Guide A Working Introduction 1st Edition Richard E. Silverman
fingonbinka66
 
PDF
SQL Server DevOps Jumpstart
Ori Donner
 
PPTX
What is git and its features for merge etc
PrakashSingh320275
 
PPT
3 Git
Fabio Fumarola
 
Be a Happier Developer with Git / Productive Team #gettinggitright
Shunsuke (Sean) Osawa
 
Enterprise git
Pedro Melo
 
Intro to Gitflow
Ben Speakmon
 
True Git
colleenfry
 
Gitting better
Ali Servet Donmez
 
Download full ebook of Version Control With Git Jon Loeliger instant download...
nhywosmogs408
 
Version Control With Git Powerful Tools And Techniques For Collaborative Soft...
demorieyo
 
Git Tutorial
Ahmed Taha
 
Do you git it
Hridyesh Bisht
 
GIT INTRODUCTION
MohanRaviRohitth
 
Git & GitLab
Gaurav Wable
 
Git introduction for Beginners
MortezaTaghaddomi
 
Basics of git
Ahmed Al-sabsab
 
Git Branching for Agile Teams
Atlassian
 
finall_(1).pptx
meseret akalu
 
Git with t for teams
Sven Peters
 
Git Pocket Guide A Working Introduction 1st Edition Richard E. Silverman
fingonbinka66
 
SQL Server DevOps Jumpstart
Ori Donner
 
What is git and its features for merge etc
PrakashSingh320275
 
Ad

More from Perforce (20)

PDF
How to Organize Game Developers With Different Planning Needs
Perforce
 
PDF
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
PDF
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
PDF
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
PDF
Branching Out: How To Automate Your Development Process
Perforce
 
PDF
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
PDF
How to Spark Joy In Your Product Backlog
Perforce
 
PDF
Going Remote: Build Up Your Game Dev Team
Perforce
 
PDF
Shift to Remote: How to Manage Your New Workflow
Perforce
 
PPTX
Hybrid Development Methodology in a Regulated World
Perforce
 
PPTX
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
PDF
Easier Requirements Management Using Diagrams In Helix ALM
Perforce
 
PDF
How To Master Your Mega Backlog
Perforce
 
PDF
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Perforce
 
PDF
How to Scale With Helix Core and Microsoft Azure
Perforce
 
PDF
Achieving Software Safety, Security, and Reliability Part 2
Perforce
 
PDF
Should You Break Up With Your Monolith?
Perforce
 
PDF
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Perforce
 
PDF
What's New in Helix ALM 2019.4
Perforce
 
PDF
Free Yourself From the MS Office Prison
Perforce
 
How to Organize Game Developers With Different Planning Needs
Perforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
Branching Out: How To Automate Your Development Process
Perforce
 
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
How to Spark Joy In Your Product Backlog
Perforce
 
Going Remote: Build Up Your Game Dev Team
Perforce
 
Shift to Remote: How to Manage Your New Workflow
Perforce
 
Hybrid Development Methodology in a Regulated World
Perforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Perforce
 
How To Master Your Mega Backlog
Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Perforce
 
How to Scale With Helix Core and Microsoft Azure
Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Perforce
 
Should You Break Up With Your Monolith?
Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Perforce
 
What's New in Helix ALM 2019.4
Perforce
 
Free Yourself From the MS Office Prison
Perforce
 

Recently uploaded (20)

PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 

Git in the Enterprise: How to succeed at DevOps using Git and a monorepo

  • 1. Git in the Enterprise How to succeed at DevOps using Git and a monorepo
  • 2. Job van der Voort VP of Product GitLab Matt Attaway VP of Community Support Perforce
  • 3. 3 What We’ll Talk about Today •  When Git meets DevOps •  Managing Git teams/projects •  Issue tracking & wikis •  Integrating CI into dev •  Integration testing •  Advantages of the monorepo 3
  • 4. 4 Git is a Very Popular 10-year Old 3 2005 2015 of developers use Git 69.3% — 2015 Stack Overflow Developer Survey
  • 5. 5 DevOps is Growing in the Enterprise 5 69.3% 2005 2015 63% — State of DevOps Report Puppet Labs of developers use Git of Enterprises are practicing DevOps — 2015 Stack Overflow Developer Survey
  • 6. 6 When Git & DevOps Collide •  Maximum practical repository size •  Git sprawl •  Too complex a tool for non-technical contributors •  Raises security concerns •  Little visibility across the product development pipeline •  Creates challenges for DevOps team practicing continuous delivery Git Can Pose Issues for the Enterprise
  • 7. DevOps is about Communication, Not Tools •  You can’t buy a DevOps tool •  You can’t hire a DevOps engineer •  DevOps is about bringing your dev and ops teams together, not inventing a new team
  • 8. You Do Use Tools to Communicate, Though •  Chat/IRC/Slack •  Email •  Issue tracker •  Wiki •  Version control
  • 9. As you implement DevOps, the tools you choose and how you use them will matter
  • 10. Everyone is a Snowflake •  Each company and team is different •  Those differences are usually for good reasons •  Think about how you are using your tools to communicate: -  What’s hard? -  What is more complex than it needs to be?
  • 11. Your version control system is your primary communication tool between Dev and Ops.
  • 12. You can use Git without a GMS…
  • 13. You can use Git without a GMS… …but no sane person does.
  • 14. Why? •  Git repos are easy to find and access •  Provides a place to communicate about code •  Issue tracker •  Wiki •  One-stop shopping
  • 15. 15 Teams and Projects in Git •  Be Agile in your Projects •  Small teams •  Small projects •  In Git, create smaller repositories •  Split up legacy projects Being Agile
  • 16. 16 •  Everyone has full access to the repository •  Everyone can push new branches •  Keep your Git flow simple •  Avoid over-management of branches •  Getting started should always be easy Working with Git the way it’s intended Teams and Projects in Git
  • 17. 17 •  Use Protected branches to enforce code review •  and to protect your master, production branches •  Use Approvals to ensure owners of the code see and review the changes before merging •  Always do code review •  Many small merges are better than few large merges Using the right tools Teams and Projects in Git
  • 18. Issue tracking is also a key place where Ops and Dev communicate
  • 19. Issue trackers can become a battlefield
  • 20. Use the simplest tool possible.
  • 21. Simple tools aren’t magically better, but they keep process focused on communication •  Clean conversations/commenting system •  Basic voting •  Minimal, project specific custom fields •  Your GMS probably has everything you need
  • 22. You might need a standalone issue tracker if... •  You’re in a regulated industry •  You have a lot of non-developer contributors •  You have a very large backlog
  • 23. Collect as little data as is reasonable
  • 24. GMS wikis are good enough for a technical audience •  If you need tables or have users that dislike Markdown, you’ll need a standalone tool •  Create projects for teams to handle team wikis •  Runbooks are perfect for GMS wikis (and are versioned!)
  • 25. Keeping everything that is related in one place improves communication •  Bouncing between tools makes it easy to get lost •  Keeping info together helps keep devs in the flow
  • 26. 26 Continuous Integration Integrated •  You want to be confident in your code, CI allows you to shield anything that doesn’t pass your criteria •  You can move faster, no need to wait for complex builds to finish before moving on •  See progress in stability, coverage and developer confidence Why CI is important
  • 27. 27 Continuous Integration Integrated •  Fully Integrated: You always know whether a commit has passed •  Based on Git: Your build script (.gitlab-ci.yml) is versioned and therefore will always work, no matter how old the commit •  Artefacts, Coverage, Statistics, Deployment •  Merge when Build Succeeds: Ultimate timesaver CI in GitLab
  • 29. Lots of projects are great for keeping context of each project tightly confined, bad for integration testing.
  • 30. Perfect world: version independence
  • 31. In the Real World… •  3 components just went live •  They’ve never been tested together; they should be fine •  Site is down
  • 32. Monorepos give you points in time for integration testing.
  • 33. You can do this on your own… … but then you’re building a version control system.
  • 35. You can get code reuse with a GMS, but only a monorepo makes integration testing of components easy.
  • 36. Job van der Voort VP of Product GitLab Matt Attaway VP of Community Support Perforce Questions?