Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
the best way to build and ship software
How GitHub uses GitHub
to design, develop and deploy GitHub
Johannes Nicolai
a @jo...
"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...
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 softw...
the best way to build and ship software
8
"
CONTINUOUS DELIVERY
The (very shorten) recipe
$
ASYNCHRONOUS COMMUNICATION%
CO...
the best way to build and ship software
The Zen of GitHub
9
"
• Responsive is better than fast
• It’s not fully shipped un...
the best way to build and ship software
10
"
CONTINUOUS DELIVERY
The (very shorten) recipe
$
ASYNCHRONOUS COMMUNICATION%
C...
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%
C...
""
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/D...
the way people build software 29
'CHATOPS AS THE CULTURAL GLUE
{) { *
'+ DevOps
APPLICATION AUTOMATION INFRASTRUCTURE AUTO...
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%
C...
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%
C...
"
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-th...
"
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
"
Upcoming SlideShare
Loading in …5
×

0

Share

Download to read offline

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

Download to read offline

Learn how GitHub’s globally distributed teams use GitHub tooling to develop and design GitHub, collaborate with engineering, sales, marketing and legal and deploy more than 500 times a week. Experience ChatOps, feature toggles and refactoring in production based on life demos and real examples.

Agenda:
* Zen of GitHub as guiding philosophy for any new feature work, nature of features, internal and external communication
* remote nature of GitHub organization and its implications on standups, pair programming and working style (default to asynchronous)
* walk through the GitHub Flow based on examples from different teams (engineering, web site, legal, services, solution engineering)
* introduction of GitHub’s deployment API and life demo how to use it from Slack and Hubot
* introduction into ChatOps
* ChatOps examples from the DevOps team
* ChatOps in the context of continuous deployment at GitHub
* introduction to the confidence dashboard (deployment metrics)
* introduction to Haystack (exception monitor)
* Feature Toggles @ GitHub (based on flipper)
* Refactoring in production @ GitHub (based on scientist)
* Q & A

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

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

  1. 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
  2. 2. "http://www.wired.com/2012/02/github-2/ Photo : Ariel Zambelich/Wired
  3. 3. "
  4. 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. 5. How software is built 5 #GitHub Enterprise - Run your own GitHub behind your FW
  6. 6. " What’s the secret?
  7. 7. How software is built 7 # OPEN SOURCE LEADERS SOFTWARE SPECIALISTS FORWARD THINKING ENTERPRISES How the world builds software
  8. 8. the best way to build and ship software 8 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  9. 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. 10. the best way to build and ship software 10 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  11. 11. the best way to build and ship software
  12. 12. " GitHub Flow
  13. 13. Create a Feature Branch
  14. 14. Add commits
  15. 15. Open a Pull Request
  16. 16. Discuss and Review Code
  17. 17. the best way to build and ship software Get CI status back in Pull Request 17 "
  18. 18. the best way to build and ship software Peer code reviews in Pull Request 18 "
  19. 19. Ship
  20. 20. Merge with master
  21. 21. Ship
  22. 22. the best way to build and ship software Deployment API 22 "
  23. 23. the best way to build and ship software 23 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  24. 24. "" hubot
  25. 25. the best way to build and ship software Hubot 25 "
  26. 26. the best way to build and ship software Hubot 26 "
  27. 27. the best way to build and ship software What do you mean, “devops”? 27 "
  28. 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. 29. the way people build software 29 'CHATOPS AS THE CULTURAL GLUE {) { * '+ DevOps APPLICATION AUTOMATION INFRASTRUCTURE AUTOMATION
  30. 30. the best way to build and ship software
  31. 31. the best way to build and ship software 31 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  32. 32. the best way to build and ship software Deployments to production 32 "
  33. 33. the best way to build and ship software Where Can I Deploy? 33 "
  34. 34. the best way to build and ship software Deploy to test 34 "
  35. 35. the best way to build and ship software Get deployment status back in PR 35 "
  36. 36. the best way to build and ship software Deploy to production 36 "
  37. 37. the best way to build and ship software Deploy to production - canary 37 "
  38. 38. the best way to build and ship software Deploy to production - canary 38 "
  39. 39. the best way to build and ship software Deploy to production - everywhere 39 "
  40. 40. the best way to build and ship software Deployment confidence 40 "
  41. 41. the best way to build and ship software Haystack 41 "
  42. 42. the best way to build and ship software Hubot has your back 42 "
  43. 43. the best way to build and ship software Hubot has your back 43 "
  44. 44. Merge with master
  45. 45. the best way to build and ship software Wrap it up 45 "
  46. 46. the best way to build and ship software 46 " CONTINUOUS DELIVERY The (very shorten) recipe $ ASYNCHRONOUS COMMUNICATION% COMMON PHILOSOPHY& CHATOPS'
  47. 47. " Bonus
  48. 48. the best way to build and ship software Isn’t that still too risky??? 48 "
  49. 49. the best way to build and ship software Feature Toggles 49 "
  50. 50. the best way to build and ship software Feature Toggles 50 "
  51. 51. the best way to build and ship software Feature Toggles 51 "
  52. 52. the best way to build and ship software Science 52 "
  53. 53. the best way to build and ship software Science 53 "
  54. 54. the best way to build and ship software Science 54 "
  55. 55. the best way to build and ship software Science 55 "
  56. 56. the best way to build and ship software 56 "
  57. 57. the best way to build and ship software 57 "
  58. 58. the best way to build and ship software 58 "
  59. 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
  60. 60. " Questions?
  61. 61. the best way to build and ship software
  62. 62. the best way to build and ship software Hubot 62 "
  63. 63. the best way to build and ship software Hubot 63 "

Learn how GitHub’s globally distributed teams use GitHub tooling to develop and design GitHub, collaborate with engineering, sales, marketing and legal and deploy more than 500 times a week. Experience ChatOps, feature toggles and refactoring in production based on life demos and real examples. Agenda: * Zen of GitHub as guiding philosophy for any new feature work, nature of features, internal and external communication * remote nature of GitHub organization and its implications on standups, pair programming and working style (default to asynchronous) * walk through the GitHub Flow based on examples from different teams (engineering, web site, legal, services, solution engineering) * introduction of GitHub’s deployment API and life demo how to use it from Slack and Hubot * introduction into ChatOps * ChatOps examples from the DevOps team * ChatOps in the context of continuous deployment at GitHub * introduction to the confidence dashboard (deployment metrics) * introduction to Haystack (exception monitor) * Feature Toggles @ GitHub (based on flipper) * Refactoring in production @ GitHub (based on scientist) * Q & A

Views

Total views

711

On Slideshare

0

From embeds

0

Number of embeds

383

Actions

Downloads

8

Shares

0

Comments

0

Likes

0

×