6. Sun Core Tech ltd
In software engineering, continuous
integration (CI) is the practice of merging all
developer working copies to a shared mainline
several times a day (Wikipedia)
7. Sun Core Tech ltd
Continuous delivery (CD or CDE) is a software engineering
approach in which teams produce software in short cycles,
ensuring that the software can be reliably released at any
time and, when releasing the software, doing so manually
(Wikipedia)
11. Sun Core Tech ltd
How to do it
• Create single repository of truth for the entire system
• Enable on demand creation of environments (including builds)
• Make infrastructure easier to rebuild than to repair
• Modify definition of done
• Amplify feedback
12. Sun Core Tech ltd
Create single repository of truth for the entire
system
• All application code and dependencies
• All scripts used to create database schemas, app reference data etc.
• All environment creation tools (images, Puppet manifests, recipes…)
• All files used to create containers (Dockerfiles…)
• All supporting automated tests and any manual test scripts
• Any script that supports code packaging, deployment, database migration
• All project artefacts
• All cloud configuration files
• Anything else (DNS config, firewall rules, enterprise service buses…)
13. Sun Core Tech ltd
Enable on demand creation of environments
• Copy virtualised environment (e.g. a VMWare image, copy Vagrant script,
boot Amazon AMI in EC2)
• Automate bare metal (e.g., PXE install)
• Infrastructure as a code (Puppet, Terraform, Heat, Cloud Formation,
Ansible…)
• Automated OS install (Debian Preseed, Red Hat Kickstart, Solaris
Jumpstart)
• Assemble environment from building blocks (Docker, Kubernetes)
14. Sun Core Tech ltd
Make infrastructure easier to rebuild than to repair
MTBF MTTR
15. Sun Core Tech ltd
Modify definition of done
• Have working and potentially shippable code
• Test in production-like environment
17. Sun Core Tech ltd
Amplify feedback
• Enable fast and reliable automated testing
• Visible feedback from testing
• Central log storage, accessible from web
• Performance feedback