SlideShare a Scribd company logo
Continuous Integration,
Delivery and Deployment
Utrecht, 24-sep-2013
Martijn van der Kamp
How we deliver software
• We deliver software in a structured and ordered way. Software installs without
errors in 1 try in the clients environment. Our clients are happy and satisfied
with our delivery process.
How long does it take to get one line of code
into production?
Developer vs PM/Manager/Client
• The production environment has crashed.
• This prototype is rough and not ready and needs to be
rewritten before we hand it over to our customers.
• The prototype we are now using in production keeps
crashing.
• We want to work in a test-driven development mode.
• I can manually hack the production server to improve
performance and stability to overcome the issues
we're having.
• The manual hack I did last week has caused the disks
to fill up and the production server has crashed.
• You're not going home until it's fixed. I'll get the
pizza!
• Don't worry, you'll get time to rewrite it. (tonight)
• You're not going home until it's fixed. I'll get the
pizza!
• That will only slow things down and we don't have
the time.
• I fully trust your judgment on this, just get it done
quickly.
• You're not going home until it's fixed. I'll get the
pizza!
Continuous What?
Continuous
Integration
Continuous
Delivery
Continuous
Deployment
Continuous
integration
Continuous
Delivery
Continuous
deployment
• Automate the build
• Automatically test the code as often as possible for early
detection of errors
• Any feedback will come back sooner, before the code has
left the mind of the developer
• Everyone can see what is happening
Continuous Integration
• Deliver code to a production-like environment with a user
base (UAT)
• Automated testing procedures during deployment
• Higher frequency, smaller volume.
• Automated deployments(as much as possible)
• Any feedback will come back sooner, before the code has
left the mind of the developer
Continuous
integration
Continuous
Delivery
Continuous
deployment
Continuous Delivery
Continuous
integration
Continuous
Delivery
Continuous
deployment
• All what was done in the previous two steps, but now
automatically between all environments and into production
Continuous Deployment
Agile
Governance
Configuration
Management
Continuous
Integration
Testing
Continuous Delivery
Continuous Deployment
The continuous framework
Continuous Integration (CI)
The toolbox:
• Version Control
• CI Server
• Build automation
tool
• Test suite
The mindset:
Open
Honest
courageous dialogue
The environment:
Sit together
Open chat-room / forum
Continuous Integration: example
Commit
code to SVN
Code
analysis
Compile
application
Run Unit
test
Deploy
application
Run test(s)
Generate
report
Code analysis report
Build number
Test report
An example in Jenkins!
Some mistakes to look out for with CI
Mistake: Loose jobs that perform the tasks
It is easy to forget to run a job, you wont be able to easily see if your friends
also ran all mandatory jobs.
Mistake: 1 job that does it all
Your CI process should be granular in the most useful way. Having only 1 job
that does it all still requires you to deep dive into your code-test-
deployment, where several can already exclude and better specify what went
wrong.
Mistake: committing broken code
All broken code should automatically be uncommitted and the state of the
environment should rolled-back to keep the latest version working.
Continuous Delivery
• Is everything that you did with Continuous Integration but now we
are adding deployment to a user based environment to the cycle,
such as a UAT environment.
• Getting rid of waterfall deployment
Problems with waterfall deployment
• Long issue detection and feedback loop (did you already fix it?)
• Lack of cooperation between business and IT (what we actually wanted…..)
• Inability to change.
Requirements
Build
Compile
test
Requirements
Build
Compile
test
Requirements
Build
Compile
test
Deploy
The last step
• Manual deployments
• Insufficient configuration management
• Infrequent, error prone deployments
Stressful releases!
Requirements
Build
Compile
test
How the development cycle will look like
Requirements
Build
Compiletest
Deploy
Requirements
Build
Compile
test
Requirements
Build
Compile
test
Deploy
Requirements
Build
Compiletest
Deploy
Requirements
Build
Compiletest
Deploy
Continuous Delivery: example
Check out
artifacts from
repository
Deploy to
production-like
environment
Run tests
Generate
reports
Continuous Deployment
• Is everything you did before with Continuous Integration and
Continuous Delivery but now all the way into production.
Continuous Deployment: example
Check out
artifacts from
repository
production
environment
Run tests
Generate
reports
To Summarize
• Continuous integration is an effective way to solve integration
problems
• Continuous integration is a great way to improve the quality of the
software.
• Continuous Delivery removes the need of waterfall deployment
• Continuous Delivery makes the deployments more predictable
• Continuous Deployment gives best value for money
Watch & Read
• Kohsuke Kawaguchi who introduces us to Hudson, an open-source
continuous integration (CI) system, which improves the productivity
of a development team by automating various things.
https://www.youtube.com/watch?v=6k0S4O2PnTc
• Atlassian toolbox:
Greenhopper: https://www.youtube.com/watch?v=KWiSkH9Tqbo
Jira: https://www.youtube.com/watch?v=ca8n9uW3afg
Bamboo:https://www.youtube.com/watch?v=2IRTnbzk0RQ
Contact information
Martijn
van der Kamp
Oracle Consultant
martijn.vander.kamp@capgemini.com
Insert
contact
picture

More Related Content

PPT
Continuous Integration and Builds
PPTX
Continuous Integration as a Way of Life
ZIP
Introduction To Continuous Integration
PDF
Continuous Integration
PPTX
Continuous Integration
PPTX
Integration Testing as Validation and Monitoring
PDF
The Continuous delivery value - Funaro
PDF
Continuous Integration 101
Continuous Integration and Builds
Continuous Integration as a Way of Life
Introduction To Continuous Integration
Continuous Integration
Continuous Integration
Integration Testing as Validation and Monitoring
The Continuous delivery value - Funaro
Continuous Integration 101

What's hot (20)

PDF
Continuous Integration at T3CON08
PPTX
Fundamentals of DevOps and CI/CD
PDF
The Continuous delivery Value @ codemotion 2014
PDF
Continuous delivery @wcap 5-09-2013
PPTX
Dev ops is more than CI+CD tools
KEY
Continuous Integration, the minimum viable product
PDF
Devops
PDF
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
PPTX
Using Continuous Integration To Ensure Project Health New
PPTX
Continuous Delivery
PDF
Continuous integration practices to improve the software quality
PPTX
TFS Build - Continuous Integration
PDF
WSO2 IoTS Device Manufacturer Guide
PPTX
Continuous Integration
PDF
Continuous Deployment of Rails Applications
PDF
Devops, Secops, Opsec, DevSec *ops *.* ?
PDF
Quickstart for continuous integration
PPT
Continuous deployment steve povilaitis
PPTX
Continuous integration. Short overview
PDF
Agile Engineering Best Practices by Richard Cheng
Continuous Integration at T3CON08
Fundamentals of DevOps and CI/CD
The Continuous delivery Value @ codemotion 2014
Continuous delivery @wcap 5-09-2013
Dev ops is more than CI+CD tools
Continuous Integration, the minimum viable product
Devops
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
Using Continuous Integration To Ensure Project Health New
Continuous Delivery
Continuous integration practices to improve the software quality
TFS Build - Continuous Integration
WSO2 IoTS Device Manufacturer Guide
Continuous Integration
Continuous Deployment of Rails Applications
Devops, Secops, Opsec, DevSec *ops *.* ?
Quickstart for continuous integration
Continuous deployment steve povilaitis
Continuous integration. Short overview
Agile Engineering Best Practices by Richard Cheng
Ad

Viewers also liked (9)

PPTX
Agile testing
PDF
Continuous Integration testing based on Selenium and Hudson
PPTX
Continuous Integration Step by Step
PPTX
Continuous Integration - Step by Step
PPTX
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
PDF
DevFest Nantes 2016 - Spinnaker
PPT
Continuous Integration: A Case Study
PPTX
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
PDF
Grunt.js and Yeoman, Continous Integration
Agile testing
Continuous Integration testing based on Selenium and Hudson
Continuous Integration Step by Step
Continuous Integration - Step by Step
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
DevFest Nantes 2016 - Spinnaker
Continuous Integration: A Case Study
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Grunt.js and Yeoman, Continous Integration
Ad

Similar to Continuous integration, delivery & deployment (20)

PPTX
Continuous Integration
PPTX
Automate Everything! (No stress development/Tallinn)
PDF
Introduction to-automated-testing
PDF
Introduction to Automated Testing
PDF
Boston MeetUp 10.10
PPTX
Continous integration and delivery for single page applications
PDF
DevOps in an Embedded World
PDF
NYC MeetUp 10.9
PPTX
Road to Continuous Delivery - Wix.com
PPTX
The challenges and pitfalls of database deployment automation
PDF
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
PPTX
Test Driven Development & CI/CD
PPTX
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
PDF
jenkins.pdf
PDF
Jenkins_1679702972.pdf
PPTX
Dev ops != Dev+Ops
PPTX
Jenkins an opensource CICD platform for all
PPTX
Continuous Delivery for Open Source Java projects
PDF
Hyd virtual meetupslides11jul
Continuous Integration
Automate Everything! (No stress development/Tallinn)
Introduction to-automated-testing
Introduction to Automated Testing
Boston MeetUp 10.10
Continous integration and delivery for single page applications
DevOps in an Embedded World
NYC MeetUp 10.9
Road to Continuous Delivery - Wix.com
The challenges and pitfalls of database deployment automation
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Test Driven Development & CI/CD
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
jenkins.pdf
Jenkins_1679702972.pdf
Dev ops != Dev+Ops
Jenkins an opensource CICD platform for all
Continuous Delivery for Open Source Java projects
Hyd virtual meetupslides11jul

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
Spectral efficient network and resource selection model in 5G networks
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Empathic Computing: Creating Shared Understanding
NewMind AI Weekly Chronicles - August'25 Week I
Advanced methodologies resolving dimensionality complications for autism neur...
Dropbox Q2 2025 Financial Results & Investor Presentation
Review of recent advances in non-invasive hemoglobin estimation
Understanding_Digital_Forensics_Presentation.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Building Integrated photovoltaic BIPV_UPV.pdf
Approach and Philosophy of On baking technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Unlocking AI with Model Context Protocol (MCP)
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Continuous integration, delivery & deployment

  • 1. Continuous Integration, Delivery and Deployment Utrecht, 24-sep-2013 Martijn van der Kamp
  • 2. How we deliver software • We deliver software in a structured and ordered way. Software installs without errors in 1 try in the clients environment. Our clients are happy and satisfied with our delivery process. How long does it take to get one line of code into production?
  • 3. Developer vs PM/Manager/Client • The production environment has crashed. • This prototype is rough and not ready and needs to be rewritten before we hand it over to our customers. • The prototype we are now using in production keeps crashing. • We want to work in a test-driven development mode. • I can manually hack the production server to improve performance and stability to overcome the issues we're having. • The manual hack I did last week has caused the disks to fill up and the production server has crashed. • You're not going home until it's fixed. I'll get the pizza! • Don't worry, you'll get time to rewrite it. (tonight) • You're not going home until it's fixed. I'll get the pizza! • That will only slow things down and we don't have the time. • I fully trust your judgment on this, just get it done quickly. • You're not going home until it's fixed. I'll get the pizza!
  • 5. Continuous integration Continuous Delivery Continuous deployment • Automate the build • Automatically test the code as often as possible for early detection of errors • Any feedback will come back sooner, before the code has left the mind of the developer • Everyone can see what is happening Continuous Integration
  • 6. • Deliver code to a production-like environment with a user base (UAT) • Automated testing procedures during deployment • Higher frequency, smaller volume. • Automated deployments(as much as possible) • Any feedback will come back sooner, before the code has left the mind of the developer Continuous integration Continuous Delivery Continuous deployment Continuous Delivery
  • 7. Continuous integration Continuous Delivery Continuous deployment • All what was done in the previous two steps, but now automatically between all environments and into production Continuous Deployment
  • 9. Continuous Integration (CI) The toolbox: • Version Control • CI Server • Build automation tool • Test suite The mindset: Open Honest courageous dialogue The environment: Sit together Open chat-room / forum
  • 10. Continuous Integration: example Commit code to SVN Code analysis Compile application Run Unit test Deploy application Run test(s) Generate report Code analysis report Build number Test report
  • 11. An example in Jenkins!
  • 12. Some mistakes to look out for with CI Mistake: Loose jobs that perform the tasks It is easy to forget to run a job, you wont be able to easily see if your friends also ran all mandatory jobs. Mistake: 1 job that does it all Your CI process should be granular in the most useful way. Having only 1 job that does it all still requires you to deep dive into your code-test- deployment, where several can already exclude and better specify what went wrong. Mistake: committing broken code All broken code should automatically be uncommitted and the state of the environment should rolled-back to keep the latest version working.
  • 13. Continuous Delivery • Is everything that you did with Continuous Integration but now we are adding deployment to a user based environment to the cycle, such as a UAT environment. • Getting rid of waterfall deployment
  • 14. Problems with waterfall deployment • Long issue detection and feedback loop (did you already fix it?) • Lack of cooperation between business and IT (what we actually wanted…..) • Inability to change. Requirements Build Compile test Requirements Build Compile test Requirements Build Compile test Deploy
  • 15. The last step • Manual deployments • Insufficient configuration management • Infrequent, error prone deployments Stressful releases!
  • 16. Requirements Build Compile test How the development cycle will look like Requirements Build Compiletest Deploy Requirements Build Compile test Requirements Build Compile test Deploy Requirements Build Compiletest Deploy Requirements Build Compiletest Deploy
  • 17. Continuous Delivery: example Check out artifacts from repository Deploy to production-like environment Run tests Generate reports
  • 18. Continuous Deployment • Is everything you did before with Continuous Integration and Continuous Delivery but now all the way into production.
  • 19. Continuous Deployment: example Check out artifacts from repository production environment Run tests Generate reports
  • 20. To Summarize • Continuous integration is an effective way to solve integration problems • Continuous integration is a great way to improve the quality of the software. • Continuous Delivery removes the need of waterfall deployment • Continuous Delivery makes the deployments more predictable • Continuous Deployment gives best value for money
  • 21. Watch & Read • Kohsuke Kawaguchi who introduces us to Hudson, an open-source continuous integration (CI) system, which improves the productivity of a development team by automating various things. https://www.youtube.com/watch?v=6k0S4O2PnTc • Atlassian toolbox: Greenhopper: https://www.youtube.com/watch?v=KWiSkH9Tqbo Jira: https://www.youtube.com/watch?v=ca8n9uW3afg Bamboo:https://www.youtube.com/watch?v=2IRTnbzk0RQ
  • 22. Contact information Martijn van der Kamp Oracle Consultant martijn.vander.kamp@capgemini.com Insert contact picture