One developer, one machine, one sacred build process. For the past two years, we have worked to change this story into one that is more reliable, repeatable, and reproducible. I'll show you our process and give plenty of demos of how we safely push code into production multiple times per day.
34. 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
38. ▸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:
39. ▸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:
40. ▸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:
41. ▸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:
42. ▸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:
43. ▸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:
44. ▸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:
45. ▸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:
53. 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