SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
the best way to build and ship software
How GitHub uses GitHub
to design, develop and deploy GitHub
Johannes Nicolai
a @jonico - ! jonico@github.com
"http://www.wired.com/2012/02/github-2/ Photo : Ariel Zambelich/Wired
"
How software is built
GitHub Facts
4
"
FOUNDED
2008
USERS
20M+
PROJECTS
50M+
MONTHLY
VISITORS
47M+
CORPORATE CUSTOMERS
67k+
UNIVERSITIES
1200+
GLOBAL RANK
51
FORTUNE100
53%
OFFICES
San Francisco
Tokyo, Amsterdam, Boulder
How software is built 5
#GitHub Enterprise - Run your own GitHub behind your FW
"
What’s the
secret?
How software is built 7
#
OPEN SOURCE
LEADERS
SOFTWARE
SPECIALISTS
FORWARD THINKING
ENTERPRISES
How the world builds software
the best way to build and ship software
8
"
CONTINUOUS DELIVERY
The (very shorten) recipe
$
ASYNCHRONOUS COMMUNICATION%
COMMON PHILOSOPHY&
CHATOPS'
the best way to build and ship software
The Zen of GitHub
9
"
• Responsive is better than fast
• It’s not fully shipped until it’s fast
• Anything added dilutes everything else
• Practicality beats purity
• Approachable is better than simple
• Mind your words, they are important
• Speak like a human
• Half measures are as bad as nothing at all
• Encourage flow
• Non-blocking is better than blocking
• Favor focus over features
• Avoid administrative distraction
• Design for failure
• Keep it logically awesome
the best way to build and ship software
10
"
CONTINUOUS DELIVERY
The (very shorten) recipe
$
ASYNCHRONOUS COMMUNICATION%
COMMON PHILOSOPHY&
CHATOPS'
the best way to build and ship software
"
GitHub Flow
Create a Feature Branch
Add commits
Open a Pull Request
Discuss and Review Code
the best way to build and ship software
Get CI status back in Pull Request
17
"
the best way to build and ship software
Peer code reviews in Pull Request
18
"
Ship
Merge with master
Ship
the best way to build and ship software
Deployment API
22
"
the best way to build and ship software
23
"
CONTINUOUS DELIVERY
The (very shorten) recipe
$
ASYNCHRONOUS COMMUNICATION%
COMMON PHILOSOPHY&
CHATOPS'
""
hubot
the best way to build and ship software
Hubot
25
"
the best way to build and ship software
Hubot
26
"
the best way to build and ship software
What do you mean, “devops”?
27
"
the best way to build and ship software
What do you mean, “devops”?
28
"
HTTP://WWW.EWEEK.COM/ENTERPRISE-APPS/SLIDESHOWS/DEVOPS-5-SIGNS-ENTERPRISES-NEED-TO-UNITE-THE-DEV-AND-OPS-CAMPS.HTML
the way people build software 29
'CHATOPS AS THE CULTURAL GLUE
{) { *
'+ DevOps
APPLICATION AUTOMATION INFRASTRUCTURE AUTOMATION
the best way to build and ship software
the best way to build and ship software
31
"
CONTINUOUS DELIVERY
The (very shorten) recipe
$
ASYNCHRONOUS COMMUNICATION%
COMMON PHILOSOPHY&
CHATOPS'
the best way to build and ship software
Deployments to production
32
"
the best way to build and ship software
Where Can I Deploy?
33
"
the best way to build and ship software
Deploy to test
34
"
the best way to build and ship software
Get deployment status back in PR
35
"
the best way to build and ship software
Deploy to production
36
"
the best way to build and ship software
Deploy to production - canary
37
"
the best way to build and ship software
Deploy to production - canary
38
"
the best way to build and ship software
Deploy to production - everywhere
39
"
the best way to build and ship software
Deployment confidence
40
"
the best way to build and ship software
Haystack
41
"
the best way to build and ship software
Hubot has your back
42
"
the best way to build and ship software
Hubot has your back
43
"
Merge with master
the best way to build and ship software
Wrap it up
45
"
the best way to build and ship software
46
"
CONTINUOUS DELIVERY
The (very shorten) recipe
$
ASYNCHRONOUS COMMUNICATION%
COMMON PHILOSOPHY&
CHATOPS'
"
Bonus
the best way to build and ship software
Isn’t that still too risky???
48
"
the best way to build and ship software
Feature Toggles
49
"
the best way to build and ship software
Feature Toggles
50
"
the best way to build and ship software
Feature Toggles
51
"
the best way to build and ship software
Science
52
"
the best way to build and ship software
Science
53
"
the best way to build and ship software
Science
54
"
the best way to build and ship software
Science
55
"
the best way to build and ship software 56
"
the best way to build and ship software 57
"
the best way to build and ship software 58
"
the best way to build and ship software
References used within the presentation
59
"
• https://github.com/blog/2093-how-the-services-team-uses-github
• https://github.com/blog/1124-how-we-use-pull-requests-to-build-github
• https://github.com/blog/1939-how-github-uses-github-to-document-github
• https://www.youtube.com/watch?v=YIpNpptGX6Q
• https://guides.github.com/introduction/flow/
• https://developer.github.com/v3/repos/deployments/
• http://githubengineering.com/deploying-branches-to-github-com/
• https://www.youtube.com/watch?v=NST3u-GjjFw
• http://githubengineering.com/scientist/
• http://johnnunemaker.com/flipper/
• https://enterprise.github.com
• https://paypal.github.io/InnerSourceCommons/
• https://github.com/blog/2079-managing-large-files-with-git-lfs
"
Questions?
the best way to build and ship software
the best way to build and ship software
Hubot
62
"
the best way to build and ship software
Hubot
63
"

Mais conteúdo relacionado

Destaque

Destaque (7)

DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
 
DevDay 2017: Ulrich Deiters - Empathie und Sympathie in der Softwareentwicklung
DevDay 2017: Ulrich Deiters - Empathie und Sympathie in der SoftwareentwicklungDevDay 2017: Ulrich Deiters - Empathie und Sympathie in der Softwareentwicklung
DevDay 2017: Ulrich Deiters - Empathie und Sympathie in der Softwareentwicklung
 
DevDay 2017: Karen Otte - Augmented Medicine - On Using Kinect and Hololens i...
DevDay 2017: Karen Otte - Augmented Medicine - On Using Kinect and Hololens i...DevDay 2017: Karen Otte - Augmented Medicine - On Using Kinect and Hololens i...
DevDay 2017: Karen Otte - Augmented Medicine - On Using Kinect and Hololens i...
 
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
 
DevDay 2017: Daniel Meixner - Von 0 auf DevOps
DevDay 2017: Daniel Meixner - Von 0 auf DevOpsDevDay 2017: Daniel Meixner - Von 0 auf DevOps
DevDay 2017: Daniel Meixner - Von 0 auf DevOps
 
DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...
DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...
DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...
 
DevDay 2017: Marc Rohlfs - Maven-Projekte mit Gitflow über Jenkins steuern
DevDay 2017: Marc Rohlfs - Maven-Projekte mit Gitflow über Jenkins steuernDevDay 2017: Marc Rohlfs - Maven-Projekte mit Gitflow über Jenkins steuern
DevDay 2017: Marc Rohlfs - Maven-Projekte mit Gitflow über Jenkins steuern
 

Semelhante a DevDay 2017: Johannes Nicolai - How GitHub uses GitHub to design, develop and deploy GitHub

Semelhante a DevDay 2017: Johannes Nicolai - How GitHub uses GitHub to design, develop and deploy GitHub (20)

CONTINUOUS DELIVERY HUBOT/KUBERNETES
CONTINUOUS DELIVERY HUBOT/KUBERNETESCONTINUOUS DELIVERY HUBOT/KUBERNETES
CONTINUOUS DELIVERY HUBOT/KUBERNETES
 
Building New on Top of Old: The Argument for Simplicity
Building New on Top of Old: The Argument for SimplicityBuilding New on Top of Old: The Argument for Simplicity
Building New on Top of Old: The Argument for Simplicity
 
DOES SFO 2016 - Greg Padak - Default to Open
DOES SFO 2016 - Greg Padak - Default to OpenDOES SFO 2016 - Greg Padak - Default to Open
DOES SFO 2016 - Greg Padak - Default to Open
 
D-DAY 2015 Continuous delivery GITHUB
D-DAY 2015 Continuous delivery  GITHUBD-DAY 2015 Continuous delivery  GITHUB
D-DAY 2015 Continuous delivery GITHUB
 
Delivery Free of Charge
Delivery Free of ChargeDelivery Free of Charge
Delivery Free of Charge
 
Build Better. Build Faster. - How to Transform DevOps for Quality at Speed
Build Better. Build Faster.  - How to Transform DevOps for Quality at SpeedBuild Better. Build Faster.  - How to Transform DevOps for Quality at Speed
Build Better. Build Faster. - How to Transform DevOps for Quality at Speed
 
Boxen: AATFT
Boxen: AATFTBoxen: AATFT
Boxen: AATFT
 
5 best practices in dev ops culture
5 best practices in dev ops culture5 best practices in dev ops culture
5 best practices in dev ops culture
 
From dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneFrom dev to ops and beyond - getting it done
From dev to ops and beyond - getting it done
 
Devops: A History
Devops: A HistoryDevops: A History
Devops: A History
 
DOES16 San Francisco - Susanna Brown & Ben Chan - DevOps in the Midst of an A...
DOES16 San Francisco - Susanna Brown & Ben Chan - DevOps in the Midst of an A...DOES16 San Francisco - Susanna Brown & Ben Chan - DevOps in the Midst of an A...
DOES16 San Francisco - Susanna Brown & Ben Chan - DevOps in the Midst of an A...
 
The Next Generation of Social is in a Hangout
The Next Generation of Social is in a HangoutThe Next Generation of Social is in a Hangout
The Next Generation of Social is in a Hangout
 
How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid
How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaidHow GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid
How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid
 
Basics of Computer Coding: Understanding Coding Languages
Basics of Computer Coding: Understanding Coding LanguagesBasics of Computer Coding: Understanding Coding Languages
Basics of Computer Coding: Understanding Coding Languages
 
DevOps and the C64: what's your excuse
DevOps and the C64: what's your excuseDevOps and the C64: what's your excuse
DevOps and the C64: what's your excuse
 
Double the Collaboration Value of Confluence - Ben Mackie
Double the Collaboration Value of Confluence - Ben MackieDouble the Collaboration Value of Confluence - Ben Mackie
Double the Collaboration Value of Confluence - Ben Mackie
 
Tested and Correct, How to Make Sure Your Documentation Keeps Working
Tested and Correct, How to Make Sure Your Documentation Keeps WorkingTested and Correct, How to Make Sure Your Documentation Keeps Working
Tested and Correct, How to Make Sure Your Documentation Keeps Working
 
Code Bootcamp for Kids- Learn Programming -Texavi AnalystZone by Pardha Sarad...
Code Bootcamp for Kids- Learn Programming -Texavi AnalystZone by Pardha Sarad...Code Bootcamp for Kids- Learn Programming -Texavi AnalystZone by Pardha Sarad...
Code Bootcamp for Kids- Learn Programming -Texavi AnalystZone by Pardha Sarad...
 
Keep calms and Docker On ... Innotech
Keep calms and Docker On ... InnotechKeep calms and Docker On ... Innotech
Keep calms and Docker On ... Innotech
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with Swift
 

Mais de DevDay Dresden

Mais de DevDay Dresden (20)

The Architecture of Uncertainty - Kevlin Henney
The Architecture of Uncertainty - Kevlin HenneyThe Architecture of Uncertainty - Kevlin Henney
The Architecture of Uncertainty - Kevlin Henney
 
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
 
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-ProjektenTobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
 
Andreas Roth - GraphQL erfolgreich im Backend einsetzen
Andreas Roth - GraphQL erfolgreich im Backend einsetzenAndreas Roth - GraphQL erfolgreich im Backend einsetzen
Andreas Roth - GraphQL erfolgreich im Backend einsetzen
 
Alexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for DevelopersAlexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for Developers
 
DevDay 19 Accessibility: Praxistipps für Entwickler
DevDay 19 Accessibility: Praxistipps für EntwicklerDevDay 19 Accessibility: Praxistipps für Entwickler
DevDay 19 Accessibility: Praxistipps für Entwickler
 
Dev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
Dev Day 2019: Phillip Krenn – Aggregierte Logging PatternsDev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
Dev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
 
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
 
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
 
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
 
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
 
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
 
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
 
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
 
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-TeamsDev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
 
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den RadverkehrDev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
 
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
 
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
 
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
 
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
 

Último

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Último (20)

What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
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...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
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-...
 

DevDay 2017: Johannes Nicolai - How GitHub uses GitHub to design, develop and deploy GitHub

  • 1. the best way to build and ship software How GitHub uses GitHub to design, develop and deploy GitHub Johannes Nicolai a @jonico - ! jonico@github.com
  • 3. "
  • 4. How software is built GitHub Facts 4 " FOUNDED 2008 USERS 20M+ PROJECTS 50M+ MONTHLY VISITORS 47M+ CORPORATE CUSTOMERS 67k+ UNIVERSITIES 1200+ GLOBAL RANK 51 FORTUNE100 53% OFFICES San Francisco Tokyo, Amsterdam, Boulder
  • 5. How software is built 5 #GitHub Enterprise - Run your own GitHub behind your FW
  • 7. How software is built 7 # OPEN SOURCE LEADERS SOFTWARE SPECIALISTS FORWARD THINKING ENTERPRISES How the world builds software
  • 8. the best way to build and ship software 8 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  • 9. the best way to build and ship software The Zen of GitHub 9 " • Responsive is better than fast • It’s not fully shipped until it’s fast • Anything added dilutes everything else • Practicality beats purity • Approachable is better than simple • Mind your words, they are important • Speak like a human • Half measures are as bad as nothing at all • Encourage flow • Non-blocking is better than blocking • Favor focus over features • Avoid administrative distraction • Design for failure • Keep it logically awesome
  • 10. the best way to build and ship software 10 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  • 11. the best way to build and ship software
  • 15. Open a Pull Request
  • 17. the best way to build and ship software Get CI status back in Pull Request 17 "
  • 18. the best way to build and ship software Peer code reviews in Pull Request 18 "
  • 19. Ship
  • 21. Ship
  • 22. the best way to build and ship software Deployment API 22 "
  • 23. the best way to build and ship software 23 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  • 25. the best way to build and ship software Hubot 25 "
  • 26. the best way to build and ship software Hubot 26 "
  • 27. the best way to build and ship software What do you mean, “devops”? 27 "
  • 28. the best way to build and ship software What do you mean, “devops”? 28 " HTTP://WWW.EWEEK.COM/ENTERPRISE-APPS/SLIDESHOWS/DEVOPS-5-SIGNS-ENTERPRISES-NEED-TO-UNITE-THE-DEV-AND-OPS-CAMPS.HTML
  • 29. the way people build software 29 'CHATOPS AS THE CULTURAL GLUE {) { * '+ DevOps APPLICATION AUTOMATION INFRASTRUCTURE AUTOMATION
  • 30. the best way to build and ship software
  • 31. the best way to build and ship software 31 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  • 32. the best way to build and ship software Deployments to production 32 "
  • 33. the best way to build and ship software Where Can I Deploy? 33 "
  • 34. the best way to build and ship software Deploy to test 34 "
  • 35. the best way to build and ship software Get deployment status back in PR 35 "
  • 36. the best way to build and ship software Deploy to production 36 "
  • 37. the best way to build and ship software Deploy to production - canary 37 "
  • 38. the best way to build and ship software Deploy to production - canary 38 "
  • 39. the best way to build and ship software Deploy to production - everywhere 39 "
  • 40. the best way to build and ship software Deployment confidence 40 "
  • 41. the best way to build and ship software Haystack 41 "
  • 42. the best way to build and ship software Hubot has your back 42 "
  • 43. the best way to build and ship software Hubot has your back 43 "
  • 45. the best way to build and ship software Wrap it up 45 "
  • 46. the best way to build and ship software 46 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  • 48. the best way to build and ship software Isn’t that still too risky??? 48 "
  • 49. the best way to build and ship software Feature Toggles 49 "
  • 50. the best way to build and ship software Feature Toggles 50 "
  • 51. the best way to build and ship software Feature Toggles 51 "
  • 52. the best way to build and ship software Science 52 "
  • 53. the best way to build and ship software Science 53 "
  • 54. the best way to build and ship software Science 54 "
  • 55. the best way to build and ship software Science 55 "
  • 56. the best way to build and ship software 56 "
  • 57. the best way to build and ship software 57 "
  • 58. the best way to build and ship software 58 "
  • 59. the best way to build and ship software References used within the presentation 59 " • https://github.com/blog/2093-how-the-services-team-uses-github • https://github.com/blog/1124-how-we-use-pull-requests-to-build-github • https://github.com/blog/1939-how-github-uses-github-to-document-github • https://www.youtube.com/watch?v=YIpNpptGX6Q • https://guides.github.com/introduction/flow/ • https://developer.github.com/v3/repos/deployments/ • http://githubengineering.com/deploying-branches-to-github-com/ • https://www.youtube.com/watch?v=NST3u-GjjFw • http://githubengineering.com/scientist/ • http://johnnunemaker.com/flipper/ • https://enterprise.github.com • https://paypal.github.io/InnerSourceCommons/ • https://github.com/blog/2079-managing-large-files-with-git-lfs
  • 61. the best way to build and ship software
  • 62. the best way to build and ship software Hubot 62 "
  • 63. the best way to build and ship software Hubot 63 "