Download presentation
Presentation is loading. Please wait.
Published byLenard Porter Modified over 9 years ago
1
Ahmed Idris Tahir Waseel Application Service Provider
2
Outline Introduction Continuous Delivery Problem of Delivering Software deployment pipeline Tools and Demo
3
Introduction Continuous delivery why and when? http://www.infoq.com/presentations/Continuous-Delivery
4
continuous delivery Continuous Delivery is a set of principles and practices in software development to improve the process of software delivery. Continuous Delivery is fundamentally about automation of the software development life cycle: build, deploy, test and release should be as hands-off as possible.
5
Introduction
6
Problems of Delivering Software Antipattern: Deploying software manually Antipattern:Deploying to a production like environment only after Development complete Antipattern:Manual configuration Management of production environment
7
Deploying software manually Errors every time they are performedtime wasted on debugging deployment errors.depends on deployment expertThe only way to test a manual deployment is to do it.With manual deployment is difficult to audit.
8
Instead …. Deployment should be fully automated. “deploy button”
9
The first deployment is likely to be the most difficult The longer the release cycle the longer it will take to fix errors. The cost of coordination between teams can be enormous. If your application is installed by users a great deal with extra testing will be required. Deploying to a production like environment only after Development complete
10
Instead …. Testing deployment release activity development process.
11
Manual configuration Management of production environment The deployment into production failsDifferent members of cluster behave differently.longer time to prepare an environment for a release.You cannot step back to an earlier configuration.Servers in clusters have, unintentionally, different environment.modifying the configuration directly on production system.
12
Instead … version control Testingstagingproduction
13
Can we do better? Low riskFrequentCheapRapid Predictable process
14
How do we achieve our goal? Feedback is essential to frequent, automated releases. Every change should trigger the feedback Process The feedback should be received as soon as possible the delivery team must receive feedback and then act on it.
15
What are the benefits Getting features and bug fixes to users fast. Cost saving. Empowering teams. Reducing errors. Lowering stress. Deployment flexibility. Practice makes perfect.
16
Principle of software Delivery Create repeatable, reliable process for releasing softwareAutomate everythingKeep everything in version controlIf something difficult or painful, do it more oftenBuild quality inDone means releasedEverybody is responsible for the delivery processContinuous improvement
17
Applying Continuous Delivery practices. Configuration Management Continuous Integration Testing Strategy
18
Deployment pipeline Commit stage Compile Unit test Analysis Build installers Automated Acceptance testing Automated Capacity testing Manual testing Showcases Exploratory testing release Deployment pipeline: a set of phases through which a piece of software must pass on its way to release.
19
Deployment pipeline It makes every part of the process visible to everybody involved. It improves feedback. it enables teams to deploy and release any version of their software to any environment at will through a fully automated process.
20
Tools Continuous integration servers Subversion tools Artifact tools Build tools Database tools
21
Demo & question Demo Questions ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.