1 / 4

DevOps - Deployment Pipeline | DevOps Training - World Of Agile

A Deployment pipeline is an important concept in Continuous Delivery. In Deployment pipeline we break the build process into distinct stages. In each stage we get feedback to move into the next stage. Often the first state in Deployment pipeline is compiling the code and converting into binaries. After that, we run the automated tests. Depending on the scenario, there are stages like performance testing, security check, usability testing etc in a Deployment pipeline.

Download Presentation

DevOps - Deployment Pipeline | DevOps Training - World Of Agile

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DevOps - Deployment Pipeline | DevOps Training -   World Of Agile    A Deployment pipeline is an important concept in ​Continuous Delivery​. In  Deployment pipeline we break the build process into distinct stages. In  each stage we get feedback to move into the next stage.    It is a collaborative effort between various groups involved in delivering  software development.    Often the first state in Deployment pipeline is compiling the code and  converting into binaries. After that, we run the automated tests.  Depending on the scenario, there are stages like performance testing,  security check, usability testing etc in a Deployment pipeline.    In ​DevOps​ our aim is to automate all the stages of Deployment pipeline  with a smooth running Deployment Pipeline, we can achieve the goal of  Continuous Delivery.    At an abstract level, a deployment pipeline is an automated manifestation  of your process for getting software from version control into the hands of  your users. Every change to your software goes through a complex  process on its way to being released. That process involves building the  software, followed by its process of these builds through multiple stages of  testing and deployment.     Steps in the Deployment Pipeline include:    ● The deployment pipeline begins when a developer commits code to  a joint versioning system.  ● Prior to doing this commit, the developer will have performed a  series of pre-commit tests on their local environment. The failure of  the pre-commit tests of course means that the commit does not take  place.  ● A commit then triggers an integration build of the service being  developed. This build is tested by the integration tests. 

  2. ● If these tests are successful, the build is promoted to a  quasi-production environment – the staging environment.  ● Then it is promoted to production under close supervision.  ● After another period of close supervision, it is promoted to normal  production.  ● The specific tasks may vary a bit for different organisation, For  example, a small company may not have a staging environment or  special  ● Supervision for recently deployed version. A larger company may  have several different production environments for different  purposes.  ● One way to define continuous integration is to have automatic  triggers between one phase and the next, up to integration tests.  That is, if the build is successful then integration tests are triggered.  If not, the developer responsible for the failure is notified.  ● Continuous delivery is defined as having automated triggers as far  as the staging system.  ● Once a service is deployed into production it is closely monitored for  a period and then it is promoted into normal production.  ● At this final stage, monitoring and testing still exist but the service is  no different from other services in this regard.  ● The committed code moves through the different steps described  above but the code does not move on its own. Rather, it is moved by  tools. The tools are controlled by their programs (scripts) or by  developer/operator commands.  ● Traceability is of utmost importance in this movement. Traceability  means that, for any system in production, it is possible to determine  exactly how it came to be in the production. This means keeping  track not only of source code but also of all commands to all the  tools that acted on the elements of the system. Individual commands  are difficult to trace, therefore, it is better to use scripts instead of  commands  ● Treating infrastructure-as-code means that the  infrastructure-scripts and movement-scripts should be subject to  the same quality control as application source code. It should be  regulated in same fashion.       

  3.       The above figure shows a typical deployment pipeline and captures the  essence of the approach.    ● The Process starts with the developers committing changes into  their version control system. At this point, the continuous integration  management systems respond to the commit by triggering a new  instance of our pipeline. The first (commit) stage of the pipeline  ● compiles the code,  ● runs unit tests,  ● performs code analysis and  ● creates installers  ● The Second stage is typically composed of longer-running  automated acceptance tests. Again your CI server should let you  split these tests into suites which can be executed in parallel to  increase their speed and give you feedback faster – typically within 

  4. an hour or two. This stage will be triggered automatically by the  successful completion of the first stage in your pipeline.  ● At this point, the pipeline branches to enable independent  deployment of your build to various environments – in this case, UAT,  Capacity testing and Production.    Implementing a Deployment Pipeline    Whether you are starting a new project from scratch or trying to create an  automated pipeline for an existing system, you should generally take an  incremental approach to implementing a deployment pipeline. In general,  the steps look like this:    ● Model your value stream and create a walking skeleton  ● Automate the build and deployment process  ● Automate unit tests and code analysis  ● Automate acceptance tests  ● Automate releases    For More Information, Follow the Links below-    Website - ​https://worldofagile.com/  Facebook - ​https://www.facebook.com/Fascinating.World.Of.Agile/  Twitter -​ https://twitter.com/WorldOfAgile  LinkedIn - ​https://www.linkedin.com/company/world-of-agile/  YouTube - ​https://www.youtube.com/c/WorldOfAgile      Tags - ​Scrum Master Certification​, ​Scrum Master Certification Mumbai​, ​Scrum Master  Certification Pune​, ​Certified Scrum Master Training in Delhi​, ​Scrum Master Certification  Kolkata​, ​CSPO Certification​, ​Agile Scrum Master Certification Online​, ​Advanced Certified  Scrum Master Training​, ​DevOps Training​, ​Prince2 Certification​, ​PMP Certification​,​ ITIL  Certification 

More Related