3. Continuous deployment vs
Continuous Delivery
• Continuous delivery : series of practices designed
to ensure that code can be rapidly and safely
deployed to production
• Continuous deployment is the next step of
continuous delivery: Every change that passes the
automated tests is deployed to production
automatically
Thursday, April 16, 15
5. What is Docker ?
• Open platform for developers and
sysadmins to build, ship, and run distributed
applications.
From https://www.docker.com/whatisdocker/
Thursday, April 16, 15
8. Using Docker for
Continuous Delivery
• Simple : container as deployment unit
• Fast : Only need to build/upload the ∆ image
• Robust : less scope of error than custom
deployment scripts
• Other advantages : docker facilitates fast rollback
Thursday, April 16, 15
9. Deploy with Docker :
test environment
Localhost
docker publish plugin
ssh jenkins plugin
Node 1
Node 2
Thursday, April 16, 15
31. Multi container apps
• Link containers with alias
docker run -v /home/hortis/docker/sonar/logs:/opt/sonar/logs/
-v /home/hortis/docker/sonar/extensions:/opt/sonar/extensions -p 9000:9000
--link sonarMysql:mysql --name sonar -d hortis/sonar:latest
• Use docker compose (old Fig)
Thursday, April 16, 15
33. Blue Green Deployment
DatabaseWeb app
DatabaseWeb appWeb app Database
Web app Database
User
requests
Router
OldVersion
NewVersion
Source : http://martinfowler.com/bliki/BlueGreenDeployment.html
Thursday, April 16, 15
34. Canary releasing
DatabaseWeb app
DatabaseWeb appWeb app Database
Web app Database
User
requests
Router
OldVersion
NewVersion
Most users
95%
Some users
5%
Source : http://martinfowler.com/bliki/CanaryRelease.html
Thursday, April 16, 15