prepare for continuous integration checklist
TRANSCRIPT
ARE YOU PREPARED FOR CONTINUOUS DELIVERY?
Are You Versioning Everything? o Version everything you need to build, deploy, test
and release your software — from requirement documents and network confi guration scripts to binaries and operating system images
o Require everyone on your team to store their digital assets in the same versioning platform
o Version non-software assets, including artwork, videos, sales and marketing collateral, budget spreadsheets and project management fi les
o Make sure all build artifacts are controlled alongside the rest of the application
o Enable any team member to have a productive, new environment created from a single command —from any secure workstation
The goal of a Continuous Delivery strategy is to reduce cycle times while maintaining or improving quality. There are many aspects of a successful Continuous Delivery approach. This checklist highlights steps to take on your path and best practices you may want to consider adopting.
Have you Automated All You Can? o Automate as much as you can up to the point
where human interaction is absolutely necessary, including build and software release processes, acceptance tests and database upgrades/downgrades
o Be able to recover an exact snapshot of the state of your entire system (from development environment to production environment) from any point in the project’s history
o Use automation to provide “fast feedback”
o Invest in the infrastructure you need to maximize automation
o Ensure that automated processes are used by everybody
A CHECKLIST
perforce.com
North America Perforce Software Inc.2320 Blanding AveAlameda, CA 94501USAPhone: +1 [email protected]
EuropePerforce Software UK Ltd. West Forest GateWellington RoadWokinghamBerkshire RG40 2ATUKPhone: +44 (0) 845 345 [email protected]
Australia Perforce Software Pty. Ltd.Suite 3, Level 10221 Miller StreetNorth SydneyNSW 2060AUSTRALIAPhone: +61 (0)2 [email protected]
Copyright © 2014 Perforce Software Inc. All rights reserved. All trademarks or registered trademarks used herein are property of their respective owners.
Are You Using a Mainline Model? o Utilize a mainline model — a single repository
stream of development that contains all the code and all the assets in your product release, ensuring that you can build and deploy at any stage
o Merge small changes and bug fixes back into mainline early to prevent development from straying too far from production
o Create branches for only new releases
o Avoid having multiple scrum teams working in parallel on a feature to prevent merging hell
o Use “peer review” to allow teams to review and approve changes before they get into the mainline.
Does Everyone Have Visibility? o Provide visibility to everyone about everything
going on
o Invest in monitoring and reporting to improve visibility
o Collect and analyze data to drive improvements and increase efficiencies
o Extend analysis beyond the code, to include environments and the broader infrastructure
o Use visibility to foster collaboration and improve communication and feedback
Do You Have a Single Source of Truth?
o Rely on a unified repository that supports virtually unlimited scaling
o Track every change — to every asset, including changes to requirements and how they have evolved over time
o Encourage best practices in development and deployment through traceability
o Protect against potential litigation by knowing the location of all assets, changes made to them and by whom
o Invest in a repository that supports heterogeneous environments (including different development and Continuous Integration platforms)
Want to Learn More?Get the full report, “Continuous Delivery: Five Habits of Highly Successful Practitioners.” Or listen to case studies from leading companies like Salesforce.com, Edmunds.com, CCP Games and more.