Upload
mimmozzo
View
203
Download
1
Tags:
Embed Size (px)
Citation preview
What do I do ?
.NET
Web REST
AgileAutomation Testing
C#Team leading
Ruby
What is continuous delivery ?
Continuous integration
Continuous integration
Continuous deployment
Continuous integration
Continuous deployment
Continuous delivery
Continuous integration
The process of frequently integrating the code you are
working on with everybody else’s code
Continuous deployment
automatically deploy on an integration test environment the "integrated code"
have a reasonable automated way of deploy software to a production environment
Continuous delivery
The ability to easily and quickly ship new value/features to customers at any point in time
Easily and quickly- Being able to deploy in less than 5 minutes (automated)
Easily and quickly- Being able to deploy in less than 5 minutes (automated)
- Being confident that the software you are deploying has passed a well defined test suite
Easily and quickly- Being able to deploy in less than 5 minutes (automated)
- Being confident that the software you are deploying has passed a well defined test suite
- Being able to immediately collect info about the new version of the software
Easily and quickly- Being able to deploy in less than 5 minutes (automated)
- Being confident that the software you are deploying has passed a well defined test suite
- Being able to immediately collect info about the new version of the software
- Being able to quickly rollback to the previous version in a matter of minutes in an automated way
continuous integration and
continuous deployment enable
continuous delivery
Why do I care about all this ?
50%
It’s about build the right thing
35%
Reduce costs and risk by delivering small incremental changes
Motivation
How do I get there ?
How do I get there ?- CD is not for every single business
How do I get there ?- CD is not for every single business
- It’s a cultural change
How do I get there ?- CD is not for every single business
- It’s a cultural change
- It takes time, and it will hurt you
How do I really get there ?- Split up the monolith
How do I really get there ?- Split up the monolith
- Enable continuous integration
How do I really get there ?- Split up the monolith
- Enable continuous integration
- Enable continuous deployment
Continuous integration
Feature branchingvs
branching by abstraction
by Martin Fowler
by Martin Fowler
by Martin Fowler
by Martin Fowler
by Martin Fowler
Solid testing strategy
Integration pipeline
DEVELOPERRUN TESTS
LOCALLYCOMMIT
CI TOOLBUILDUNIT TESTS
PACKAGE
Continuous deployment
Packaging
Automatic installation and configuration
Database
Blue Green
Infrastructure as code
Decouple release from deployment
Deploy pipeline
Tools- TeamCity
- Artifactory
- Chef
- Vagrant
- Go
DEVELOPERRUN TESTS
LOCALLYPACKAGE
VAGRANTCHEFTEST
COMMIT
TEAMCITY PACKAGE GO
DEPLOY INTEGRATION
TEST INTEGTATION
DEPLOY STAGE
TEST STAGEDEPLOY
PRODUCTIONTEST
PRODUCTION
Let's wrap it up- Continuous integration (step by step)
- No feature branching- Packaging
- Integration pipeline
- Continuous deployment (step by step)
- Self installable components
- Deploy pipeline
- Provisioning
Thanks