How people build soſtware ! " How GitHub Builds Soſtware Mike McQuaid
How people build software
!
"
How GitHub Builds SoftwareMike McQuaid
How people build software!
Mike McQuaidSenior Engineer at GitHub
https://github.com/MikeMcQuaid
https://twitter.com/MikeMcQuaid
2
!
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
How people build software!
!macOS bootstrap
4
How people build software!
!
5
macOS bootstrap
How people build software!
!macOS bootstrap
6
How people build software!
!macOS bootstrap
7
How people build software!
!macOS bootstrap
8
How people build software!
!macOS bootstrap
9
How people build software!
!macOS bootstrap
10
How people build software!
!GitHub clone
11
How people build software!
!GitHub clone
12
How people build software!
!GitHub bootstrap
13
How people build software!
!GitHub bootstrap
14
How people build software!
!GitHub bootstrap
15
How people build software!
!GitHub bootstrap
16
How people build software!
!GitHub bootstrap
17
How people build software!
!Writing GitHub code
18
How people build software!
!Writing GitHub code
19
How people build software!
!Writing GitHub code
20
How people build software!
!Committing GitHub code
21
How people build software!
!Committing GitHub code
22
How people build software!
!Committing GitHub code
23
How people build software!
!Committing GitHub code
24
How people build software!
!Committing GitHub code
25
How people build software!
!Creating a GitHub pull request
26
How people build software!
!Creating a GitHub pull request
27
How people build software!
!Creating a GitHub pull request
28
How people build software!
!Deploying a GitHub pull request
29
How people build software!
!Deploying a GitHub pull request
30
How people build software!
!Deploying a GitHub pull request
31
How people build software!
!Deploying a GitHub pull request
32
How people build software!
!Deploying a GitHub pull request
33
How people build software!
!Deploying a GitHub pull request
34
How people build software!
!Verifying a GitHub deployment
35
How people build software!
!Verifying a GitHub deployment
36
How people build software!
!Verifying a GitHub deployment
37
How people build software!
!Verifying a GitHub deployment
38
How people build software!
!Merging a GitHub pull request
39
How people build software!
!Merging a GitHub pull request
40
How people build software!
!Merging a GitHub pull request
41
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
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
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
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
How people build software
!
"
Questions?