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)

PPTX
Git & GitLab
Gaurav Wable
 
PPTX
Github
RajathV2
 
PPTX
You can git
Yu GUAN
 
PDF
What's New for GitLab CI/CD February 2020
Noa Harel
 
PPTX
Gerrit jenkins-big data-continuous-delivery
Luca Milanesio
 
PPTX
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
vanoorts
 
PPTX
Git Going w/ Git
heyMP
 
PDF
Git in 10 minutes (WordCamp London 2018)
Borek Bernard
 
PPTX
Git kelvin
Kwong Wang Ho
 
PPTX
Overview of git
Ravi Ganamukhi
 
ODP
Git Workshop
scashin133
 
PPTX
Speed up Continuous Delivery with BigData Analytics
Luca Milanesio
 
PDF
Introducing GitLab (September 2018)
Noa Harel
 
PPTX
Git basics
Padmavathi Tiwari
 
PDF
The journey to GitOps
Nicola Baldi
 
PDF
Gitops: the kubernetes way
sparkfabrik
 
PDF
What's New in GitLab and Software Development Trends
Noa Harel
 
PDF
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
sparkfabrik
 
PDF
GitOps with ArgoCD
CloudOps2005
 
PDF
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
msohn
 
Git & GitLab
Gaurav Wable
 
Github
RajathV2
 
You can git
Yu GUAN
 
What's New for GitLab CI/CD February 2020
Noa Harel
 
Gerrit jenkins-big data-continuous-delivery
Luca Milanesio
 
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
vanoorts
 
Git Going w/ Git
heyMP
 
Git in 10 minutes (WordCamp London 2018)
Borek Bernard
 
Git kelvin
Kwong Wang Ho
 
Overview of git
Ravi Ganamukhi
 
Git Workshop
scashin133
 
Speed up Continuous Delivery with BigData Analytics
Luca Milanesio
 
Introducing GitLab (September 2018)
Noa Harel
 
Git basics
Padmavathi Tiwari
 
The journey to GitOps
Nicola Baldi
 
Gitops: the kubernetes way
sparkfabrik
 
What's New in GitLab and Software Development Trends
Noa Harel
 
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
sparkfabrik
 
GitOps with ArgoCD
CloudOps2005
 
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
msohn
 

Viewers also liked (15)

DOCX
m2_s1_ lectura y tecnicas de estudio
ariel1995lomeli
 
PPTX
AADay
Cleopatra Myers
 
DOCX
CV Usman
Usman Khan
 
DOCX
Ayyalappa_CV
Ayyalappa B
 
PDF
Unyuin vinyl sheet patterns
Kevin Yang
 
DOCX
importancia de la escritura
ariel1995lomeli
 
PDF
Our 6th pitch deck at the S-Factory pre-accelerator incubator in Chile
Geo AR Games
 
RTF
2. silabus ppkn smk
EKO SUPRIYADI
 
PPTX
Accompagnement Des Patrons
np consultant
 
PDF
4º basico b 09 de octubre
Colegio Camilo Henríquez
 
PDF
Alterna
Agustín Rela
 
PDF
4º basico a 30 de octubre
Colegio Camilo Henríquez
 
PDF
2º basico a 21 de agosto
Colegio Camilo Henríquez
 
PPT
Facility Télécom - Axitel - Logiciel de gestion financière des télécoms - con...
facilitytelecom
 
PPS
Compilationdephotosquisurprennentbs
George Martin
 
m2_s1_ lectura y tecnicas de estudio
ariel1995lomeli
 
CV Usman
Usman Khan
 
Ayyalappa_CV
Ayyalappa B
 
Unyuin vinyl sheet patterns
Kevin Yang
 
importancia de la escritura
ariel1995lomeli
 
Our 6th pitch deck at the S-Factory pre-accelerator incubator in Chile
Geo AR Games
 
2. silabus ppkn smk
EKO SUPRIYADI
 
Accompagnement Des Patrons
np consultant
 
4º basico b 09 de octubre
Colegio Camilo Henríquez
 
Alterna
Agustín Rela
 
4º basico a 30 de octubre
Colegio Camilo Henríquez
 
2º basico a 21 de agosto
Colegio Camilo Henríquez
 
Facility Télécom - Axitel - Logiciel de gestion financière des télécoms - con...
facilitytelecom
 
Compilationdephotosquisurprennentbs
George Martin
 
Ad

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

PPTX
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
PPT
Introduction to git and stash
Xpand IT
 
PDF
Git tech
Taj Nehme
 
PDF
Git SVN Migrate Reasons
Ovidiu Dimulescu
 
PDF
Software Engineering Tools and Practices Learn Git
BeHappy728244
 
PPTX
Git and GitHub.pptx
kelashraisal052
 
PDF
Introduction to Git
Ovidiu Dimulescu
 
PDF
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Bartosz Chrabski
 
PPTX
Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems Pvt. Ltd
 
PDF
Git at an Enterprise
Sergey Titov, Ph.D.
 
PPTX
Making software development processes to work for you
Ambientia
 
PPTX
Multi-Source Inventory. Imagine. Las Vegas. 2018
Igor Miniailo
 
PPTX
Git with bitbucket
Suhas Shivaram
 
PPTX
Continuous Integration
XPDays
 
PPTX
Development Processes and Tooling
Bora Bilgin
 
PPTX
Advanced ICT Tools - Git, Github and other collaborative tools
latha2009
 
PPTX
Introducing GitSwarm: Pure Git with Globally Scalable DevOps
Perforce
 
PPTX
Workshop on Git and GitHub
DSCVSSUT
 
PDF
Getting intimate with Git
KoalaMetrics
 
PPTX
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Gibran Badrulzaman
 
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
Introduction to git and stash
Xpand IT
 
Git tech
Taj Nehme
 
Git SVN Migrate Reasons
Ovidiu Dimulescu
 
Software Engineering Tools and Practices Learn Git
BeHappy728244
 
Git and GitHub.pptx
kelashraisal052
 
Introduction to Git
Ovidiu Dimulescu
 
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Bartosz Chrabski
 
Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems Pvt. Ltd
 
Git at an Enterprise
Sergey Titov, Ph.D.
 
Making software development processes to work for you
Ambientia
 
Multi-Source Inventory. Imagine. Las Vegas. 2018
Igor Miniailo
 
Git with bitbucket
Suhas Shivaram
 
Continuous Integration
XPDays
 
Development Processes and Tooling
Bora Bilgin
 
Advanced ICT Tools - Git, Github and other collaborative tools
latha2009
 
Introducing GitSwarm: Pure Git with Globally Scalable DevOps
Perforce
 
Workshop on Git and GitHub
DSCVSSUT
 
Getting intimate with Git
KoalaMetrics
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Gibran Badrulzaman
 
Ad

Recently uploaded (20)

PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Digital Circuits, important subject in CS
contactparinay1
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 

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?