Continous delivery

download Continous delivery

of 28

  • date post

    06-May-2015
  • Category

    Technology

  • view

    746
  • download

    1

Embed Size (px)

description

My ideas for how Continuous Delivery could work.

Transcript of Continous delivery

  • 1.Continuous Delivery PipelineA continuous delivery pipeline enables deployment and automated testing of codeon environments which gradually become more live like.

2. Continuous Delivery PipelineFirst, our clever developers will write some code on their local machines. 3. Continuous Delivery PipelineWhen the code is complete, they will run all their unit tests. 4. Continuous Delivery PipelineWhen all the tests pass then they check-in to source control. 5. Continuous Delivery Pipeline The source control triggers a new job in Jenkins.This is the first phase of our Continuous Delivery pipeline. 6. Continuous Delivery Pipeline ContinuousTest Staging Production Integration Automation EnvironmentEnvironmentEnvironmentEnvironmentThe pipeline consists of a number of different environments onto which we will deploy code and run tests to verify the code works as expected. 7. Continuous Delivery Pipeline Continuous TestStagingProduction IntegrationAutomationEnvironment EnvironmentEnvironment EnvironmentOn the Continuous Integration environment we run our unit tests every time a developerpushes code to source control. 8. Continuous Delivery PipelineContinuous Test Staging ProductionIntegrationAutomation EnvironmentEnvironment Environment EnvironmentIn the Test Automation environment out sites are deployed but external systems are faked. This is where we run our full suite of automated acceptance tests. 9. Continuous Delivery Pipeline ContinuousTestStaging Production Integration AutomationEnvironmentEnvironmentEnvironmentEnvironmentIn Staging sites are deployed the same as on Prod with real external dependencies. Here we check that everything works when connected. 10. Continuous Delivery Pipeline Continuous TestStaging Production IntegrationAutomationEnvironmentEnvironmentEnvironment Environment A small set of automated tests are run after deploying to Production to make sureeverything went well and the environment is operational. 11. Continuous Delivery Pipeline Continuous TestStagingProduction IntegrationAutomationEnvironment EnvironmentEnvironment EnvironmentIn order for each environment to receive a deployment, the previous environment in the pipeline must receive a successful deployment and pass all its tests. 12. Continuous Delivery Pipeline Continuous TestStagingProduction IntegrationAutomationEnvironment EnvironmentEnvironment EnvironmentTherefore, the continuous delivery pipeline consists of a number of phases which, when successful, leads to a potential deployment of the next phase. 13. Continuous Delivery Pipeline ContinuousTestStaging Production Integration AutomationEnvironmentEnvironmentEnvironmentEnvironmentPhase 1 involves rerunning the unit tests on the Continuous Integration boxes. 14. Continuous Delivery Pipeline Continuous Test Staging Production IntegrationAutomation EnvironmentEnvironmentEnvironment EnvironmentThe actual websites are not deployed. Tests are run directly against the code. The testsdont open browsers. 15. Continuous Delivery Pipeline Continuous TestStaging Production IntegrationAutomationEnvironmentEnvironmentEnvironment EnvironmentAny failures result in a broken build. The appropriate developers would be informed and fixing the build would become top priority. 16. Continuous Delivery Pipeline ContinuousTest StagingProduction Integration Automation Environment EnvironmentEnvironmentEnvironment When the build passes on the Continuous Integration Environment then that build ispromoted to the Test Automation Environment. 17. Continuous Delivery Pipeline ContinuousTestStagingProduction Integration AutomationEnvironment EnvironmentEnvironmentEnvironment Once built on the Test Automation Environment an automated smoke test is run. 18. Continuous Delivery Pipeline ContinuousTest Staging Production Integration Automation EnvironmentEnvironmentEnvironmentEnvironment If the smoke tests pass then the full Automated Acceptance Test suite is run. 19. Continuous Delivery Pipeline ContinuousTestStagingProduction Integration AutomationEnvironment EnvironmentEnvironmentEnvironment Just like before, if we encounter failures, then the appropriate people are notified and fixing the build becomes top priority. 20. Continuous Delivery Pipeline Continuous TestStaging Production IntegrationAutomationEnvironmentEnvironmentEnvironment EnvironmentIf the whole suite passes on one browser then we re-run on a variety of other supportedbrowsers. 21. Continuous Delivery Pipeline ContinuousTestStagingProduction Integration AutomationEnvironment EnvironmentEnvironmentEnvironment When everything passes on the Test Automation Environment then the build gets promoted and is available for deploy on the Staging Environment. 22. Continuous Delivery Pipeline Continuous Test StagingProduction IntegrationAutomation Environment EnvironmentEnvironment EnvironmentJust like the Test Automation Environment a Smoke Test Suite is run against the Staging Environment. 23. Continuous Delivery Pipeline ContinuousTest StagingProduction Integration Automation Environment EnvironmentEnvironmentEnvironmentIf the Smoke Test Suite passes then a subset of the overall test suite is run to ensure that, when in a live-like environment, the app still behaves as expected. 24. Continuous Delivery PipelineContinuousTestStagingProductionIntegration AutomationEnvironment Environment EnvironmentEnvironmentOnce all the Automated Acceptance Tests are passing on the Staging Environment then the build becomes a potentially releasable build. 25. Continuous Delivery Pipeline ContinuousTest Staging Production Integration Automation EnvironmentEnvironmentEnvironmentEnvironment When released to the Production Environment then a final small subset of Automated Acceptance Tests are run as a health check to ensure everything is OK. 26. Continuous Delivery PipelineContinuous Test Staging ProductionIntegrationAutomation EnvironmentEnvironment Environment EnvironmentIf any problems are encountered by the health check tests then the appropriate people are informed. 27. Continuous Delivery PipelineContinuous Test StagingProductionIntegrationAutomation Environment Environment Environment EnvironmentOtherwise, we have just completed a successful deployment through our delivery pipeline. 28. Continuous Delivery Pipeline This is still a work in progress. Please give your feedback to make this a more accurate representation of the process we want to achieve. Thanks.. ContinuousTest Staging Production Integration Automation EnvironmentEnvironmentEnvironmentEnvironment