《continuous_integration_and_deployment》由会员分享,可在线阅读,更多相关《continuous_integration_and_deployment(39页珍藏版)》请在金锄头文库上搜索。
1、1AVANTGARDDRIVE EFFICIENCIES & PRODUCTIVITYUNLOCK HIDDEN CASHGAIN GLOBAL VISIBILITY OF CASH & RISKFOSTER CONNECTIVITYCONTINUOUS INTEGRATION AND DELIVERY Gareth MercerDirector of Software Development2CONTINUOUS INTEGRATION AND DELIVERYProcessStoryProductionCode ChangeWhat happens between a code chang
2、e and production?Integration and Delivery3CONTINUOUS INTEGRATION AND DELIVERYAnd the Continuous?Every code change leads to a potential release.Its a continual process.4CONTINUOUS INTEGRATION AND DELIVERY5Principles6CONTINUOUS INTEGRATION AND DELIVERYPrinciple #1Create a repeatable, reliable process
3、for releasing software.7CONTINUOUS INTEGRATION AND DELIVERYPrinciple #2Automate almost everything.8CONTINUOUS INTEGRATION AND DELIVERYPrinciple #3Keep everything in version control.9CONTINUOUS INTEGRATION AND DELIVERYPrinciple #4If it hurts, do it more frequently and bring the pain forward.10CONTINU
4、OUS INTEGRATION AND DELIVERYPrinciple #5Build Quality In.11CONTINUOUS INTEGRATION AND DELIVERYPrinciple #6Done means released.12CONTINUOUS INTEGRATION AND DELIVERYPrinciple #7Everybody is responsible for the delivery process.13CONTINUOUS INTEGRATION AND DELIVERYPrinciple #8Continuous Improvement.14C
5、ontinuous Integration and Delivery15CONTINUOUS INTEGRATION AND DELIVERYContinuous Integration and DeliveryWhat might the process look like?16CONTINUOUS INTEGRATION AND DELIVERYRequirements Version Control. An Automated Build. Agreement of the Team.17CONTINUOUS INTEGRATION AND DELIVERYCheck In Regula
6、rly Check in to trunk. Frequent small changes.18CONTINUOUS INTEGRATION AND DELIVERYCheck In Process The pre check in process. Meaningful messages.19CONTINUOUS INTEGRATION AND DELIVERYBuild Automated process.20CONTINUOUS INTEGRATION AND DELIVERYTesting Commit tests (unit and component). Acceptance te
7、sts. Can include integration and performance. Combined should give a high level of confidence in the application.21CONTINUOUS INTEGRATION AND DELIVERYTesting Run automatically. Run quickly. Commit and acceptance tests. Grouped and layered.22CONTINUOUS INTEGRATION AND DELIVERYShort Build and Test Pro
8、cess Compile and commit tests 5 mins. Deploy and acceptance tests 30 mins.23CONTINUOUS INTEGRATION AND DELIVERYEssential Practices Dont check in on a broken build. Test locally first. Wait for commit tests before next task. Never go home on a broken build. Be ready to revert.24CONTINUOUS INTEGRATION
9、 AND DELIVERYPass v Fail Dont comment out failing tests! You broke it you fix it! Even if it appears unrelated to your check in.25CONTINUOUS INTEGRATION AND DELIVERYUpgrading Data Automated. Should be able to undo changes.26CONTINUOUS INTEGRATION AND DELIVERYSystem Jenkins. Communication. Wallboards
10、.27CONTINUOUS INTEGRATION AND DELIVERYEnvironment Keep them all the same test to production. Standard development environment.28CONTINUOUS INTEGRATION AND DELIVERYDependencies Central store of external libraries. Manage our own NXG components.29CONTINUOUS INTEGRATION AND DELIVERYConfiguration Applic
11、ation, software and environment. Do it at deployment time. Automate it. Use SVN.30CONTINUOUS INTEGRATION AND DELIVERYDeploy to Production Same process as used in test. Frequently tested. Controlled. Should be able to undo changes.31CONTINUOUS INTEGRATION AND DELIVERYp11132Best Practices33CONTINUOUS
12、INTEGRATION AND DELIVERYPractices #1Only build the binaries once.34CONTINUOUS INTEGRATION AND DELIVERYPractices #2Deploy the same way to every environment.35CONTINUOUS INTEGRATION AND DELIVERYPractices #3Smoke Test the deployment.36CONTINUOUS INTEGRATION AND DELIVERYPractices #4Deploy into a copy of production.37CONTINUOUS INTEGRATION AND DELIVERYPractices #5Each change should move all the way along the pipeline.38CONTINUOUS INTEGRATION AND DELIVERYPractices #6If anything fails stop.39Next Steps