prepare for continuous integration checklist

2
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 configuration 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 files 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

Upload: straxler

Post on 27-Feb-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prepare for Continuous Integration Checklist

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

Page 2: Prepare for Continuous Integration 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.