Slide 1

Slide 1 text

@steveElsewhere PIPELINE A DEVOPS @steveElsewhere

Slide 2

Slide 2 text

@steveElsewhere ME

Slide 3

Slide 3 text

@steveElsewhere CONTEXT VALUE

Slide 4

Slide 4 text

@steveElsewhere WHY DO WE NEED A PIPELINE?

Slide 5

Slide 5 text

@steveElsewhere CREATING VALUE WHY WOULD WE SHIP 100 TIMES A DAY?

Slide 6

Slide 6 text

@steveElsewhere ITERATION

Slide 7

Slide 7 text

@steveElsewhere PIPELINE SO, ABOUT THAT @steveElsewhere

Slide 8

Slide 8 text

@steveElsewhere ‣ NATURAL START AND END ‣ STARTS WITH SOURCE CONTROL ‣ INITIATE WITH EACH CHANGE ‣ RUN IN PARALLEL AND/OR SEQUENTIALLY ‣ SUCCESS MEANS CODE IN PRODUCTION PIPELINE CHARACTERISTICS

Slide 9

Slide 9 text

@steveElsewhere CONTINUOUS DELIVERY CHANGE STABILIZE VALIDATE RELEASE

Slide 10

Slide 10 text

@steveElsewhere PROCESS CODE TEST BUILD DEPLOY

Slide 11

Slide 11 text

@steveElsewhere STAGES DEPLOY DIRECTLY CONTINUOUS INTEGRATION CONTINUOUS DELIVERY CONTINUOUS DEPLOYMENT

Slide 12

Slide 12 text

@steveElsewhere CRUCIAL? WHY IS IT @steveElsewhere

Slide 13

Slide 13 text

@steveElsewhere THE WALL @steveElsewhere

Slide 14

Slide 14 text

@steveElsewhere DOCKER LETS TALK ABOUT

Slide 15

Slide 15 text

@steveElsewhere CAVEATS LETS TALK ABOUT

Slide 16

Slide 16 text

@steveElsewhere A FEW PIECES

Slide 17

Slide 17 text

@steveElsewhere ADVANTAGES LETS TALK ABOUT

Slide 18

Slide 18 text

@steveElsewhere LIGHT WEIGHT REUSE CONSISTENCY WHY DOCKER? PUSH/PULL VERSIONING PORTABILITY

Slide 19

Slide 19 text

@steveElsewhere 1. RUN UNIT TESTS 2. BUILD THE IMAGE THAT WE USE TO BUILD OUR APP 3. RUN THE BUILD CONTAINER AND COMPILING OUR APP 4. BUILD THE IMAGE THAT WE RUN AND DEPLOY 5. PUSH THE FINAL IMAGE TO A DOCKER REGISTRY OVERVIEW

Slide 20

Slide 20 text

@steveElsewhere SOME
 PREREQUISITES

Slide 21

Slide 21 text

@steveElsewhere PROVISIONING AND CONFIG

Slide 22

Slide 22 text

@steveElsewhere OUTSIDE OUR CONTAINER

Slide 23

Slide 23 text

@steveElsewhere DOCKER TOOLBOX OR VIRTUAL MACHINE

Slide 24

Slide 24 text

@steveElsewhere BASE VOLUME BUILD RUN CONTAINER TYPES

Slide 25

Slide 25 text

@steveElsewhere OS SOURCE REPOS PACKAGES CLEANUP THE BASE CONTAINER

Slide 26

Slide 26 text

@steveElsewhere MINIMAL BARE OS FILE STRUCTURE FILES THE VOLUME CONTAINER

Slide 27

Slide 27 text

@steveElsewhere THE BUILD CONTAINER BASE CONTAINER CODE COPY COMPILE CLEANUP

Slide 28

Slide 28 text

@steveElsewhere BUILT CONTAINER RUN COMMAND THE RUN CONTAINER

Slide 29

Slide 29 text

@steveElsewhere CASCADE CHANGE CHANGE BASE REBUILD BUILD REBUILD BASE REBUILD RUN RUN

Slide 30

Slide 30 text

@steveElsewhere QUALITY ASSURANCE

Slide 31

Slide 31 text

@steveElsewhere BEYOND BASICS

Slide 32

Slide 32 text

@steveElsewhere QUALITY ASSURANCE CODE COMMIT TEST ENV PRODUCTION TESTING Unit Mock

Slide 33

Slide 33 text

@steveElsewhere CODE COMMIT TEST ENV PRODUCTION TESTING Regression Cross-Device Functional Static Analysis Integration QUALITY ASSURANCE

Slide 34

Slide 34 text

@steveElsewhere QUALITY ASSURANCE CODE COMMIT TEST ENV PRODUCTION TESTING Exploratory Acceptance Performance Smoke Security

Slide 35

Slide 35 text

@steveElsewhere QUALITY ASSURANCE CODE COMMIT TEST ENV PRODUCTION TESTING Smoke A / B

Slide 36

Slide 36 text

@steveElsewhere QUALITY ASSURANCE TESTING Unit Mock TESTING Regression Cross-Device Functional Static Analysis Integration TESTING Exploratory Acceptance Performance Smoke Security TESTING Smoke A / B

Slide 37

Slide 37 text

@steveElsewhere QUALITY ASSURANCE

Slide 38

Slide 38 text

@steveElsewhere CI ONSITE ‣ JENKINS ‣ GITLAB CI ‣ GO.CD ‣ STRIDER ‣ TEAM FOUNDATION SERVER

Slide 39

Slide 39 text

@steveElsewhere CI ONLINE ‣ SHIPPABLE ‣ CODESHIP ‣ CIRCLE CI ‣ TRAVIS ‣ APPVEYOR

Slide 40

Slide 40 text

@steveElsewhere BUILD ‣ DOCKER (LOCAL) ‣ PACKER (LOCAL) ‣ DOCKER HUB ‣ QUAY.IO ‣ ANY CI TOOL

Slide 41

Slide 41 text

@steveElsewhere DEPLOYMENT PULL FROM HUB CONFIG MANAGEMENT

Slide 42

Slide 42 text

@steveElsewhere THE #! CODE CHANGE PUSH TRIGGER TRIGGER PULL TRIGGER

Slide 43

Slide 43 text

@steveElsewhere THE #! CODE CHANGE PUSH TRIGGER TRIGGER PULL TRIGGER

Slide 44

Slide 44 text

@steveElsewhere THE #! CODE CHANGE PUSH TRIGGER TRIGGER PULL TRIGGER

Slide 45

Slide 45 text

@steveElsewhere WHERE WE GO FROM HERE

Slide 46

Slide 46 text

@steveElsewhere AUTOMATION

Slide 47

Slide 47 text

@steveElsewhere THE BOTS AGE OF

Slide 48

Slide 48 text

@steveElsewhere COLLABO- TOMATION CHATOPS

Slide 49

Slide 49 text

@steveElsewhere VISIBILITY CHATOPS

Slide 50

Slide 50 text

@steveElsewhere MY ADVICE

Slide 51

Slide 51 text

@steveElsewhere THE EDGES THINK ABOUT

Slide 52

Slide 52 text

@steveElsewhere SCHEDULING STORAGE SERVICE - DISCOVERY OTHER CONSIDERATIONS: LOGGING MONITORING NETWORKING

Slide 53

Slide 53 text

@steveElsewhere HEALTHCHECK ROLLBACK GRACEFUL FAILURE OTHER CONSIDERATIONS: SECRETS SCALING CRON

Slide 54

Slide 54 text

@steveElsewhere CHANGE AS LITTLE AS POSSIBLE GO H.A.M.

Slide 55

Slide 55 text

@steveElsewhere SPECIFICS AIM FOR

Slide 56

Slide 56 text

@steveElsewhere THINK ABOUT SECURITY

Slide 57

Slide 57 text

@steveElsewhere START NOW

Slide 58

Slide 58 text

@steveElsewhere THANK YOU! J.MP/TALKRESOURCES