Continuous-Delivery
Process
Presenter: Sargam Dhaliwal &
Anshul Bansal
March 30, 2018
∗ Introduction
∗ Need of CI Integration
∗ What are the differences between continuous
integration, continuous delivery, and continuous
deployment?
∗ Different CI Tools
∗ How to choose perfect CI Tool
∗ Benefits of Bitbucket Pipelines
∗ Live Demo
Index
∗ Continuous integration (CI) is a practice where a team
of developers integrate their code early and often to
the main branch or code repository.
∗ Goal
∗ To reduce the risk of seeing “integration hell”
Introduction
∗ Reduced integration risk.
∗ Reduce the amount of time spent on fixing bugs
∗ Save your time
∗ Identifying and addressing conflicts early.
∗ The code in version control works.
∗ Reduced friction between team members.
∗ Higher code quality.
CI: Benefits
∗ Continuous Integration
∗ To check that the application is not broken whenever
new commits are integrated into the main branch.
∗ Continuous delivery: Extension of CI
∗ Automated your release process and
∗ Deploy your application at any point of time by clicking
on a button.
∗ Continuous deployment:
∗ No human intervention, &
∗ Only a failed test will prevent a new change to be
deployed to production.
Continuous Integration vs Continuous Delivery
vs Continuous Deployment
Fig: Continuous Delivery vs Continuous Deployment
Practice Requirement Benefit
Continuous integration • Automated Test
Scripts,
• Continuous
integration server ,
and,
• Code Commit (at
least once in a day)
• Less Bugs
• Reduce Testing cost
• Building the release
is easy
• Less context
switching
Continuous delivery • Strong foundation in
CI and Good test
case code coverage
• Deployment needs
to be Automated
• Need to embrace
feature flags
• Complexity of
deployment process
is taken away.
Continuous deployment • Testing culture
needs to be at its
best
• Releases are less
risky and easier to
fix
CI Tools
∗ Build process flexibility
∗ No hassle setup and greater scalability
∗ User Interface
Perfect CI Tool
∗ Traditional cost associated with CI is
∗ Installation and maintenance of a CI server.
∗ Benefits:
∗ Easy setup and configuration
∗ Easy to managing the code
∗ Store and manage your build configurations in a single
bitbucket-pipelines.yml file.
Why Bitbucket pipeline is used?
∗ Increased project maintenance overhead.
∗ Too much change.
∗ Hardware/Software costs.
∗ Developers are already doing all these operations.
∗ Project too small.
Potential Pitfalls

Continuous Delivery process

  • 1.
  • 2.
    ∗ Introduction ∗ Needof CI Integration ∗ What are the differences between continuous integration, continuous delivery, and continuous deployment? ∗ Different CI Tools ∗ How to choose perfect CI Tool ∗ Benefits of Bitbucket Pipelines ∗ Live Demo Index
  • 3.
    ∗ Continuous integration(CI) is a practice where a team of developers integrate their code early and often to the main branch or code repository. ∗ Goal ∗ To reduce the risk of seeing “integration hell” Introduction
  • 4.
    ∗ Reduced integrationrisk. ∗ Reduce the amount of time spent on fixing bugs ∗ Save your time ∗ Identifying and addressing conflicts early. ∗ The code in version control works. ∗ Reduced friction between team members. ∗ Higher code quality. CI: Benefits
  • 5.
    ∗ Continuous Integration ∗To check that the application is not broken whenever new commits are integrated into the main branch. ∗ Continuous delivery: Extension of CI ∗ Automated your release process and ∗ Deploy your application at any point of time by clicking on a button. ∗ Continuous deployment: ∗ No human intervention, & ∗ Only a failed test will prevent a new change to be deployed to production. Continuous Integration vs Continuous Delivery vs Continuous Deployment
  • 6.
    Fig: Continuous Deliveryvs Continuous Deployment
  • 7.
    Practice Requirement Benefit Continuousintegration • Automated Test Scripts, • Continuous integration server , and, • Code Commit (at least once in a day) • Less Bugs • Reduce Testing cost • Building the release is easy • Less context switching Continuous delivery • Strong foundation in CI and Good test case code coverage • Deployment needs to be Automated • Need to embrace feature flags • Complexity of deployment process is taken away. Continuous deployment • Testing culture needs to be at its best • Releases are less risky and easier to fix
  • 8.
  • 9.
    ∗ Build processflexibility ∗ No hassle setup and greater scalability ∗ User Interface Perfect CI Tool
  • 10.
    ∗ Traditional costassociated with CI is ∗ Installation and maintenance of a CI server. ∗ Benefits: ∗ Easy setup and configuration ∗ Easy to managing the code ∗ Store and manage your build configurations in a single bitbucket-pipelines.yml file. Why Bitbucket pipeline is used?
  • 11.
    ∗ Increased projectmaintenance overhead. ∗ Too much change. ∗ Hardware/Software costs. ∗ Developers are already doing all these operations. ∗ Project too small. Potential Pitfalls