![Page 1: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/1.jpg)
How people build software
!
"
How GitHub Builds SoftwareMike McQuaid
![Page 2: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/2.jpg)
How people build software!
Mike McQuaidSenior Engineer at GitHub
https://github.com/MikeMcQuaid
https://twitter.com/MikeMcQuaid
2
!
![Page 3: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/3.jpg)
How people build software!
!How GitHub Builds Software
3
•macOS bootstrap •GitHub clone •GitHub bootstrap •Writing GitHub code •Committing GitHub code •Creating a GitHub pull request •Deploying a GitHub pull request •Verifying a GitHub deployment •Merging a GitHub pull request
![Page 4: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/4.jpg)
How people build software!
!macOS bootstrap
4
![Page 5: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/5.jpg)
How people build software!
!
5
macOS bootstrap
![Page 6: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/6.jpg)
How people build software!
!macOS bootstrap
6
![Page 7: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/7.jpg)
How people build software!
!macOS bootstrap
7
![Page 8: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/8.jpg)
How people build software!
!macOS bootstrap
8
![Page 9: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/9.jpg)
How people build software!
!macOS bootstrap
9
![Page 10: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/10.jpg)
How people build software!
!macOS bootstrap
10
![Page 11: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/11.jpg)
How people build software!
!GitHub clone
11
![Page 12: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/12.jpg)
How people build software!
!GitHub clone
12
![Page 13: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/13.jpg)
How people build software!
!GitHub bootstrap
13
![Page 14: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/14.jpg)
How people build software!
!GitHub bootstrap
14
![Page 15: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/15.jpg)
How people build software!
!GitHub bootstrap
15
![Page 16: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/16.jpg)
How people build software!
!GitHub bootstrap
16
![Page 17: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/17.jpg)
How people build software!
!GitHub bootstrap
17
![Page 18: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/18.jpg)
How people build software!
!Writing GitHub code
18
![Page 19: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/19.jpg)
How people build software!
!Writing GitHub code
19
![Page 20: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/20.jpg)
How people build software!
!Writing GitHub code
20
![Page 21: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/21.jpg)
How people build software!
!Committing GitHub code
21
![Page 22: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/22.jpg)
How people build software!
!Committing GitHub code
22
![Page 23: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/23.jpg)
How people build software!
!Committing GitHub code
23
![Page 24: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/24.jpg)
How people build software!
!Committing GitHub code
24
![Page 25: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/25.jpg)
How people build software!
!Committing GitHub code
25
![Page 26: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/26.jpg)
How people build software!
!Creating a GitHub pull request
26
![Page 27: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/27.jpg)
How people build software!
!Creating a GitHub pull request
27
![Page 28: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/28.jpg)
How people build software!
!Creating a GitHub pull request
28
![Page 29: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/29.jpg)
How people build software!
!Deploying a GitHub pull request
29
![Page 30: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/30.jpg)
How people build software!
!Deploying a GitHub pull request
30
![Page 31: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/31.jpg)
How people build software!
!Deploying a GitHub pull request
31
![Page 32: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/32.jpg)
How people build software!
!Deploying a GitHub pull request
32
![Page 33: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/33.jpg)
How people build software!
!Deploying a GitHub pull request
33
![Page 34: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/34.jpg)
How people build software!
!Deploying a GitHub pull request
34
![Page 35: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/35.jpg)
How people build software!
!Verifying a GitHub deployment
35
![Page 36: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/36.jpg)
How people build software!
!Verifying a GitHub deployment
36
![Page 37: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/37.jpg)
How people build software!
!Verifying a GitHub deployment
37
![Page 38: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/38.jpg)
How people build software!
!Verifying a GitHub deployment
38
![Page 39: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/39.jpg)
How people build software!
!Merging a GitHub pull request
39
![Page 40: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/40.jpg)
How people build software!
!Merging a GitHub pull request
40
![Page 41: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/41.jpg)
How people build software!
!Merging a GitHub pull request
41
![Page 42: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/42.jpg)
How people build software!
!How GitHub Builds Software
42
•macOS bootstrap •GitHub clone •GitHub bootstrap •Writing GitHub code •Committing GitHub code •Creating a GitHub pull request •Deploying a GitHub pull request •Verifying a GitHub deployment •Merging a GitHub pull request
![Page 43: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/43.jpg)
How people build software!
!How You Should Build Software
43
•OS/hardware bootstrap •Project(s) clone •Project(s) bootstrap •Writing project code •Committing project code locally •Creating a project pull request •Deploying to production without needing human intervention •Verifying a deployment without clicking around •Merging a pull request and moving on
![Page 44: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/44.jpg)
How people build software!
!How To Build Software Better
44
•Automation over manual commands •Scripting over copy-pasting from documentation •ChatOps over SSH and manually running commands •Automated testing over manual testing •Monitoring over clicking around
![Page 45: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/45.jpg)
How people build software!
!Mentioned Open Source Projects
45
•macOS bootstrap •https://github.com/MikeMcQuaid/strap •https://github.com/Homebrew/brew •https://github.com/Homebrew/homebrew-bundle
•GitHub bootstrap •https://github.com/github/scripts-to-rule-them-all
![Page 46: How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid](https://reader031.vdocuments.site/reader031/viewer/2022022415/5a647cf77f8b9a31568b4c0d/html5/thumbnails/46.jpg)
How people build software
!
"
Questions?