CI, CD, CD
STEPHEN GARRETT - GEORGIA TECH
DEPLOYMENT TYPE
FTP
http://web.csulb.edu/~athomaso/ftpnotes.htm
http://www.pendriveapps.com/portable-cyberduck-for-mac-os-x-ftp
DEPLOYMENT TYPE
PUBLISH FROM IDE
https://host4asp.net/visual-studio-publish-application
accu web hosting: https://goo.gl/Lv0wO9
DEPLOYMENT TYPE
PUBLISH FROM IDE
https://host4asp.net/visual-studio-publish-application
accu web hosting: https://goo.gl/Lv0wO9
DEPLOYMENT TYPE
PUBLISH FROM DESIGNER
https://helpx.adobe.com/dreamweaver
DEPLOYMENT TYPE
FILE SYSTEM COPY
howtogeek.com - http://goo.gl/L074EZ
NOT DEPLOYMENT
EDIT CODE ON PRODUCTION
bitnami - https://goo.gl/9TZ0KP
NOT DEPLOYMENT
EDIT CODE ON PRODUCTION
http://transithistory.org/ccreynolds/page.php-wordpress-code-i16.jpg
https://www.flickr.com/photos/courtneyrian/5750960959
ALL IT TAKES IS 1
MISSED STEP
STRESSFUL
SO STRESSFUL
netdoctor.co.uk - http://goo.gl/6yIDiy
HOPE
thinkdefence.co.uk - http://goo.gl/B9xUPw
RITUAL
Navajo Fire Dance by William R Leigh
RITUAL
http://impactvs.com/conference-call-etiquette
STRESSFUL
NO LUNCH clipartpanda.com - http://goo.gl/rqp006
HOW MANY PROJECTS
DO YOU HAVE?
WE CAN FIX THIS!
COMPUTERS!
War Games
COMPUTERS!
War Games
FEELINGS TO AVOID
LET’S GO FROM THIS
burkewilliamsspa - http://goo.gl/tzLixX
Big Bang Theory
FEELINGS TO AVOID
LET’S GO FROM THIS
burkewilliamsspa - http://goo.gl/tzLixX
Big Bang Theory
http://www.manageware.co.il/tools/portfolio/auto-deploy
https://flic.kr/p/bP9xfc
http://www.manageware.co.il/tools/portfolio/auto-deploy
https://flic.kr/p/bP9xfc
WITH COMPUTERS
OUR PROCESSES BECOME…
▸ Rapid
▸ Reliable
▸ Repeatable
ADVANTAGES
▸ Improved software or product quality
▸ Higher confidence
▸ Better quality of life
MINUTIA
QUALITY
VALUE
VALUECONTINUOUS DELIVERY
Martin Fowler
http://martinfowler.com/bliki/FrequencyReducesDifficulty.html
SO HOW DO WE
GET THERE?
CONTINUOUS
INTEGRATION
I SEE CI AS PRIMARILY GIVING BIRTH TO A RELEASE
CANDIDATE AT EACH COMMIT. THE JOB OF THE CI SYSTEM
AND DEPLOYMENT PROCESS IS TO DISPROVE THE
PRODUCTION-READINESS OF A RELEASE CANDIDATE. THIS
MODEL RELIES ON THE NEED TO HAVE SOME MAINLINE THAT
REPRESENTS THE CURRENT SHARED, MOST UP TO DATE
PICTURE OF COMPLETE.
Dave Farley
CONTINUOUS INTEGRATION
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
▸Maintain a Single Source Repository
▸Automate the Build
▸Make Your Build Self-Testing
▸Everyone Commits To the Mainline Every Day
▸Every Commit Should Build the Mainline on an Integration
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
▸Maintain a Single Source Repository
▸Automate the Build
▸Make Your Build Self-Testing
▸Everyone Commits To the Mainline Every Day
▸Every Commit Should Build the Mainline on an Integration
Machine
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
▸Maintain a Single Source Repository
▸Automate the Build
▸Make Your Build Self-Testing
▸Everyone Commits To the Mainline Every Day
▸Every Commit Should Build the Mainline on an Integration
Machine
▸Fix Broken Builds Immediately
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
▸Maintain a Single Source Repository
▸Automate the Build
▸Make Your Build Self-Testing
▸Everyone Commits To the Mainline Every Day
▸Every Commit Should Build the Mainline on an Integration
Machine
▸Fix Broken Builds Immediately
▸Keep the Build Fast
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
▸Maintain a Single Source Repository
▸Automate the Build
▸Make Your Build Self-Testing
▸Everyone Commits To the Mainline Every Day
▸Every Commit Should Build the Mainline on an Integration
Machine
▸Fix Broken Builds Immediately
▸Keep the Build Fast
▸Everyone can see what's happening
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
▸Maintain a Single Source Repository
▸Automate the Build
▸Make Your Build Self-Testing
▸Everyone Commits To the Mainline Every Day
▸Every Commit Should Build the Mainline on an Integration
Machine
▸Fix Broken Builds Immediately
▸Keep the Build Fast
▸Everyone can see what's happening
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
▸Maintain a Single Source Repository
▸Automate the Build
▸Make Your Build Self-Testing
▸Everyone Commits To the Mainline Every Day
▸Every Commit Should Build the Mainline on an Integration
Machine
▸Fix Broken Builds Immediately
▸Keep the Build Fast
▸Everyone can see what's happening
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
▸Maintain a Single Source Repository
▸Automate the Build
▸Make Your Build Self-Testing
▸Everyone Commits To the Mainline Every Day
▸Every Commit Should Build the Mainline on an Integration
Machine
▸Fix Broken Builds Immediately
▸Keep the Build Fast
▸Everyone can see what's happening
CONTINUOUS INTEGRATION
MARTIN FOWLER'S BULLET POINTS:
DEMO - CI
CONTINUOUS INTEGRATION
CI TOOLS
▸ TeamCity
▸ Jenkins
▸ TravisCI
▸ Bamboo
▸ Visual Studio Team Services
▸ CircleCI
▸ Codeship
▸ BuildMaster
CONTINUOUS
DEPLOYMENT
CONTINUOUS
DEPLOYMENT
CONTINUOUS
DEPLOYMENT
CONTINUOUS
DELIVERY
CONTINUOUS DELIVERY
CHANGE IN MINDSET
@thisisnkp
https://twitter.com/lukegb/status/539744763071979520
CONTINUOUS DELIVERY
CHANGE IN MINDSET
/u/CodeTheInternet
https://redd.it/2xxstj
THE KEY TEST IS THAT A BUSINESS SPONSOR
COULD REQUEST THAT THE CURRENT
DEVELOPMENT VERSION OF THE SOFTWARE CAN
BE DEPLOYED INTO PRODUCTION AT A MOMENT'S
NOTICE - AND NOBODY WOULD BAT AN EYELID,
LET ALONE PANIC.
Martin Fowler
CONTINUOUS DELIVERY
DEMO - CD
CONTINUOUS DEPLOYMENT - CONTINUOUS DELIVERY
TOOLS
▸ Octopus Deploy
▸ Chef
▸ Ansible
▸ Go
▸ Codeship
▸ ElectricFlow
▸ VSTS
NO PRESSURE!
QUESTIONS?
THANK YOU!
Stephen Garrett
Senior App Services Manager
Campus Services - Information Technology Group
Georgia Institute of Technology
stephen.garrett@itg.gatech.edu

Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery