Slide 1

Slide 1 text

How people build software ! " How GitHub Builds Software Mike McQuaid

Slide 2

Slide 2 text

How people build software ! Mike McQuaid Senior Engineer at GitHub [email protected] https://github.com/MikeMcQuaid https://twitter.com/MikeMcQuaid 2 !

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

How people build software ! ! macOS bootstrap 4

Slide 5

Slide 5 text

How people build software ! ! 5 macOS bootstrap

Slide 6

Slide 6 text

How people build software ! ! macOS bootstrap 6

Slide 7

Slide 7 text

How people build software ! ! macOS bootstrap 7

Slide 8

Slide 8 text

How people build software ! ! macOS bootstrap 8

Slide 9

Slide 9 text

How people build software ! ! macOS bootstrap 9

Slide 10

Slide 10 text

How people build software ! ! macOS bootstrap 10

Slide 11

Slide 11 text

How people build software ! ! GitHub clone 11

Slide 12

Slide 12 text

How people build software ! ! GitHub clone 12

Slide 13

Slide 13 text

How people build software ! ! GitHub bootstrap 13

Slide 14

Slide 14 text

How people build software ! ! GitHub bootstrap 14

Slide 15

Slide 15 text

How people build software ! ! GitHub bootstrap 15

Slide 16

Slide 16 text

How people build software ! ! GitHub bootstrap 16

Slide 17

Slide 17 text

How people build software ! ! GitHub bootstrap 17

Slide 18

Slide 18 text

How people build software ! ! Writing GitHub code 18

Slide 19

Slide 19 text

How people build software ! ! Writing GitHub code 19

Slide 20

Slide 20 text

How people build software ! ! Writing GitHub code 20

Slide 21

Slide 21 text

How people build software ! ! Committing GitHub code 21

Slide 22

Slide 22 text

How people build software ! ! Committing GitHub code 22

Slide 23

Slide 23 text

How people build software ! ! Committing GitHub code 23

Slide 24

Slide 24 text

How people build software ! ! Committing GitHub code 24

Slide 25

Slide 25 text

How people build software ! ! Committing GitHub code 25

Slide 26

Slide 26 text

How people build software ! ! Creating a GitHub pull request 26

Slide 27

Slide 27 text

How people build software ! ! Creating a GitHub pull request 27

Slide 28

Slide 28 text

How people build software ! ! Creating a GitHub pull request 28

Slide 29

Slide 29 text

How people build software ! ! Deploying a GitHub pull request 29

Slide 30

Slide 30 text

How people build software ! ! Deploying a GitHub pull request 30

Slide 31

Slide 31 text

How people build software ! ! Deploying a GitHub pull request 31

Slide 32

Slide 32 text

How people build software ! ! Deploying a GitHub pull request 32

Slide 33

Slide 33 text

How people build software ! ! Deploying a GitHub pull request 33

Slide 34

Slide 34 text

How people build software ! ! Deploying a GitHub pull request 34

Slide 35

Slide 35 text

How people build software ! ! Verifying a GitHub deployment 35

Slide 36

Slide 36 text

How people build software ! ! Verifying a GitHub deployment 36

Slide 37

Slide 37 text

How people build software ! ! Verifying a GitHub deployment 37

Slide 38

Slide 38 text

How people build software ! ! Verifying a GitHub deployment 38

Slide 39

Slide 39 text

How people build software ! ! Merging a GitHub pull request 39

Slide 40

Slide 40 text

How people build software ! ! Merging a GitHub pull request 40

Slide 41

Slide 41 text

How people build software ! ! Merging a GitHub pull request 41

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

How people build software ! " Questions?