fbpx
Wikipedia

Continuous delivery

Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, following a pipeline through a "production-like environment", without doing so manually.[1][2] It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time,[citation needed] and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.

Continuous delivery contrasts with continuous deployment (also abbreviated CD), a similar approach in which software is also produced in short cycles but through automated deployments even to production rather than requiring a "click of a button" for that last step.[1]: 52 As such, continuous deployment can be viewed as a more complete form of automation than continuous delivery.[3]

Relationship to DevOps

Continuous delivery and DevOps are similar in their meanings and often conflated, but they are two different concepts.[4] DevOps has a broader scope,[5] and centers around cultural change, specifically the collaboration of the various teams involved in software delivery (developers, operations, quality assurance, management, etc.), as well as automating the processes in software delivery.[5] Continuous delivery, on the other hand, is an approach to automate the delivery aspect and focuses on bringing together different processes and executing them more quickly and frequently.[6] Thus, DevOps can be a product of continuous delivery, and CD flows directly into DevOps.

Relationship to continuous deployment

Continuous delivery is the ability to deliver software that can be deployed at any time through manual releases; this is in contrast to continuous deployment which uses automated deployments.[7] According to Martin Fowler, continuous deployment requires continuous delivery.[8] Academic literature differentiates between the two approaches according to deployment method; manual vs. automated.[2][9]

Principles

 

Continuous delivery treats the commonplace notion of a deployment pipeline[10] as a lean Poka-Yoke:[11] a set of validations through which a piece of software must pass on its way to release. Code is compiled if necessary and then packaged by a build server every time a change is committed to a source control repository, then tested by a number of different techniques (possibly including manual testing) before it can be marked as releasable.

Developers used to a long cycle time may need to change their mindset when working in a CD environment. It is important to understand that any code commit may be released to customers at any point. Patterns such as feature toggles can be very useful for committing code early which is not yet ready for use by end users. Using NoSQL can eliminate the step of data migrations and schema changes, often manual steps or exceptions to a continuous delivery workflow.[12] Other useful techniques for developing code in isolation such as code branching are not obsolete in a CD world, but must be adapted to fit the principles of CD - for example, running multiple long-lived code branches can prove impractical, as a releasable artifact must be built early in the CD process from a single code branch if it is to pass through all phases of the pipeline.[clarification needed]

Deployment pipeline

Continuous delivery is enabled through the deployment pipeline. The purpose of the deployment pipeline has three components: visibility, feedback, and continually deploy.[13]

  • Visibility – All aspects of the delivery system including building, deploying, testing, and releasing are visible to every member of the team to promote collaboration.
  • Feedback – Team members learn of problems as soon as possible when they occur so that they are able to fix them as quickly as possible.
  • Continually deploy – Through a fully automated process, you can deploy and release any version of the software to any environment.

Tools/tool types

Continuous delivery takes automation from source control all the way through production. There are various tools that help accomplish all or part of this process.[14] These tools are part of the deployment pipeline which includes continuous delivery. The types of tools that execute various parts of the process include: continuous integration, application release automation, build automation, application lifecycle management.[15]

Architecting for continuous delivery

To practice continuous delivery effectively, software applications have to meet a set of architecturally significant requirements (ASRs) such as deployability, modifiability, and testability.[16] These ASRs require a high priority and cannot be traded off lightly.

Microservices are often used when architecting for continuous delivery.[17] The use of Microservices can increase a software system's deployability and modifiability. The observed deployability improvements include: deployment independence, shorter deployment time, simpler deployment procedures, and zero downtime deployment. The observed modifiability improvements include: shorter cycle time for small incremental functional changes, easier technology selection changes, incremental quality attribute changes, and easier language and library upgrades.[17]

Implementation and usage

The original CD book written by Jez Humble and David Farley (2010) popularized the term; however, since its creation the definition has continued to advance and now has a more developed meaning. Companies today are implementing these continuous delivery principles and best practices. The difference in domains, e.g. medical vs. web, is still significant and affects the implementation and usage.[18] Well-known companies that have this approach include Yahoo!,[19] Amazon,[20] Facebook,[21] Google,[22] Paddy Power[1] and Wells Fargo.[23]

Benefits and obstacles

Several benefits of continuous delivery have been reported.[1][18]

  • Accelerated time to market: Continuous delivery lets an organization deliver the business value inherent in new software releases to customers more quickly. This capability helps the company stay a step ahead of the competition.
  • Building the right product: Frequent releases let the application development teams obtain user feedback more quickly. This lets them work on only the useful features. If they find that a feature isn't useful, they spend no further effort on it. This helps them build the right product.
  • Improved productivity and efficiency: Significant time savings for developers, testers, operations engineers, etc. through automation.
  • Reliable releases: The risks associated with a release have significantly decreased, and the release process has become more reliable. With continuous delivery, the deployment process and scripts are tested repeatedly before deployment to production. So, most errors in the deployment process and scripts have already been discovered. With more frequent releases, the number of code changes in each release decreases. This makes finding and fixing any problems that do occur easier, reducing the time in which they have an impact.
  • Improved product quality: The number of open bugs and production incidents has decreased significantly.
  • Improved customer satisfaction: A higher level of customer satisfaction is achieved.

Obstacles have also been investigated.[18]

  • Customer preferences: Some customers do not want continuous updates to their systems. This is especially true at the critical stages of their operations.
  • Domain restrictions: In some domains, such as telecom and medical, regulations require extensive testing before new versions are allowed to enter the operations phase.
  • Lack of test automation: Lack of test automation leads to a lack of developer confidence and can prevent using continuous delivery.
  • Differences in environments: Different environments used in the development, testing and production can result in undetected issues slipping to the production environment.
  • Tests needing a human oracle: Not all quality attributes can be verified with automation. These attributes require humans in the loop, slowing down the delivery pipeline.

Eight further adoption challenges were raised and elaborated on by Chen.[7] These challenges are in the areas of organizational structure, processes, tools, infrastructure, legacy systems, architecting for continuous delivery, continuous testing of non-functional requirements, and test execution optimization.

Strategies to overcome adoption challenges

Several strategies to overcome continuous delivery adoption challenges have been reported.[7]

Strategies to Overcome CD Adoption Challenges
Strategy Description
Selling CD as a painkiller Identify each stakeholder's pain points that CD can solve, and sell CD as a painkiller to that stakeholder. This strategy helps to achieve buy-in from the wide range of stakeholders that a CD implementation requires.
Dedicated team with multi-disciplinary members Without a dedicated team, it can be hard to progress because employees are often assigned to work on other value streams. A multi-disciplinary team not only provides the wide range of skills required for CD implementation but also smooths the communication with related teams.
Continuous delivery of continuous delivery Organize the implementation of CD in a way that delivers value to the company as early as possible, onboarding more projects gradually, in small increments and eventually rolling out CD across the whole organization. This strategy helps justify the investment required by making concrete benefits visible along the way. Visible benefits, in turn, help to achieve the sustained company support and investment required to survive the long and tough journey to CD.
Starting with easy but important applications When selecting the first few applications to migrate to CD, choose the ones that are easy to migrate but that are important to the business. Being easy to migrate helps to demonstrate the benefits of CD quickly, which can prevent the implementation initiative from being killed. Being important to the business helps to secure the required resources, demonstrates clear and unarguable value, and raises the visibility of CD in the organization.
Visual CD pipeline skeleton Give a team a visual CD pipeline skeleton that has the full CD pipeline view but with empty stages for those they cannot implement yet. This helps to build up a CD mindset and maintain the momentum for CD adoption. The pipeline skeleton is especially useful when the team's migration to CD requires a large effort and mindset changes over a long period of time.
Expert drop Assign a CD expert to join tough projects as a senior member of the development team. Having the expert on the team helps to build the motivation and momentum to move to CD from inside the team. It also helps to maintain momentum when the migration requires a large effort and a long period of time.

See also

Further reading

  • Humble, Jez; Farley, David (2010). Continuous Delivery: Reliable Software Releases Through Build, Test and Deployment Automation. Addison-Wesley. ISBN 978-0-321-60191-9.
  • Wolff, Eberhard (2017). A Practical Guide to Continuous Delivery. Addison-Wesley. ISBN 978-0-134-69147-3.

References

  1. ^ a b c d Chen, Lianping (2015). "Continuous Delivery: Huge Benefits, but Challenges Too". IEEE Software. 32 (2): 50–54. doi:10.1109/MS.2015.27. S2CID 1241241.
  2. ^ a b Shahin, Mojtaba; Ali Babara, Muhammad; Zhu, Liming (2017). "Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices". IEEE Access. 5: 3909–3943. arXiv:1703.07019. Bibcode:2017arXiv170307019S. doi:10.1109/ACCESS.2017.2685629. S2CID 11638909.
  3. ^ "Continuous Deployment: An Essential Guide". IBM. 2019-10-02. Retrieved 2022-11-28. Continuous deployment is the natural outcome of continuous delivery done well. Eventually, the manual approval delivers little or no value and is merely slowly things down. At that point, it is done away with and continuous delivery becomes continuous deployment.
  4. ^ Hammond, Jeffrey (9 September 2011). "The Relationship between DevOps and Continuous Delivery". Forrester Research. Forester.
  5. ^ a b Humble, Jez; Farley, David (2011). Continuous Delivery: reliable software releases through build, test, and deployment automation. Pearson Education Inc. ISBN 978-0-321-60191-9.
  6. ^ Swartout, Paul (2012). Continuous Delivery and DevOps: A Quickstart guide. Packt Publishing. ISBN 978-1849693684.
  7. ^ a b c Chen, Lianping (2017). "Continuous Delivery: Overcoming adoption challenges". Journal of Systems and Software. 128: 72–86. doi:10.1016/j.jss.2017.02.013.
  8. ^ "bliki: ContinuousDelivery". martinfowler.com. Retrieved 2015-10-29.
  9. ^ Shahin, Mojtaba; Babar, Muhammad Ali; Zahedi, Mansooreh; Zhu, Liming (2017). "Beyond Continuous Delivery: An Empirical Investigation of Continuous Deployment Challenges". 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). pp. 111–120. doi:10.1109/ESEM.2017.18. ISBN 978-1-5090-4039-1. S2CID 3479812.
  10. ^ Humble, J.; Read, C.; North, D. (2006). "The Deployment Production Line". Agile 2006 (Agile'06). pp. 113–118. doi:10.1109/AGILE.2006.53. ISBN 0-7695-2562-8. S2CID 16572138.
  11. ^ Fitzgerald, Brian (2014-06-03). (PDF). 1st International Workshop on Rapid Continuous Software Engineering. New York, NY: Association for Computing Machinery. pp. 1–9. doi:10.1145/2593812.2593813. hdl:10344/3896. ISBN 978-1-4503-2856-2. Archived from the original (PDF) on 2014-10-25. Retrieved 2014-10-24.
  12. ^ Kluge, Lars (12 September 2013). "Continuous Deployment with MongoDB at Kitchensurfing". slideshare.net. Retrieved 3 January 2014.
  13. ^ Duvall, Paul (2012). "Continuous Delivery: Patterns and Anti-Patterns in Software Lifecycle" (PDF). Refcardz. Retrieved October 9, 2015.
  14. ^ Phillips, Andrew (29 July 2014). . DevOps.com. Archived from the original on 28 September 2015. Retrieved October 9, 2015.
  15. ^ Binstock, Andrew (16 September 2014). "Continuous Delivery: The Agile SUccessor". Dr. Dobb's the World of Software Development. San Francisco: UBM.
  16. ^ Chen, Lianping (2015). Towards Architecting for Continuous Delivery. The 12th Working IEEE/IFIP Conference on Software Architecture(WICSA 2015). Montréal, Canada: IEEE. doi:10.1109/WICSA.2015.23.
  17. ^ a b Chen, Lianping (2018). Microservices: Architecting for Continuous Delivery and DevOps. The IEEE International Conference on Software Architecture (ICSA 2018). IEEE.
  18. ^ a b c Leppänen, M.; Mäkinen, S.; Pagels, M.; Eloranta, V. P.; Itkonen, J.; Mäntylä, M. V.; Männistö, T. (2015-03-01). "The Highways and Country Roads to Continuous Deployment". IEEE Software. 32 (2): 64–72. doi:10.1109/MS.2015.50. ISSN 0740-7459. S2CID 18719684.
  19. ^ "Implementing Continuous Delivery at Yahoo!". confreaks.tv. 23 October 2013.
  20. ^ "Velocity 2011: Jon Jenkins, "Velocity Culture"". youtube.com. 20 June 2011.
  21. ^ "Rapid Release At Massive Scale". 2017-08-31.
  22. ^ Humble, Jez (13 February 2014). "The Case for Continuous Delivery". thoughtworks.com. Retrieved 16 July 2014.
  23. ^ jFrog (December 2014). "2014-year-continuous-integration-revolution".
  24. ^ "Building Evolutionary Architecture".

continuous, delivery, software, engineering, approach, which, teams, produce, software, short, cycles, ensuring, that, software, reliably, released, time, following, pipeline, through, production, like, environment, without, doing, manually, aims, building, te. Continuous delivery CD is a software engineering approach in which teams produce software in short cycles ensuring that the software can be reliably released at any time and following a pipeline through a production like environment without doing so manually 1 2 It aims at building testing and releasing software with greater speed and frequency The approach helps reduce the cost time citation needed and risk of delivering changes by allowing for more incremental updates to applications in production A straightforward and repeatable deployment process is important for continuous delivery Continuous delivery contrasts with continuous deployment also abbreviated CD a similar approach in which software is also produced in short cycles but through automated deployments even to production rather than requiring a click of a button for that last step 1 52 As such continuous deployment can be viewed as a more complete form of automation than continuous delivery 3 Contents 1 Relationship to DevOps 2 Relationship to continuous deployment 3 Principles 4 Deployment pipeline 5 Tools tool types 6 Architecting for continuous delivery 7 Implementation and usage 8 Benefits and obstacles 9 Strategies to overcome adoption challenges 10 See also 11 Further reading 12 ReferencesRelationship to DevOps EditContinuous delivery and DevOps are similar in their meanings and often conflated but they are two different concepts 4 DevOps has a broader scope 5 and centers around cultural change specifically the collaboration of the various teams involved in software delivery developers operations quality assurance management etc as well as automating the processes in software delivery 5 Continuous delivery on the other hand is an approach to automate the delivery aspect and focuses on bringing together different processes and executing them more quickly and frequently 6 Thus DevOps can be a product of continuous delivery and CD flows directly into DevOps Relationship to continuous deployment EditMain article Continuous deployment Continuous delivery is the ability to deliver software that can be deployed at any time through manual releases this is in contrast to continuous deployment which uses automated deployments 7 According to Martin Fowler continuous deployment requires continuous delivery 8 Academic literature differentiates between the two approaches according to deployment method manual vs automated 2 9 Principles Edit Continuous delivery treats the commonplace notion of a deployment pipeline 10 as a lean Poka Yoke 11 a set of validations through which a piece of software must pass on its way to release Code is compiled if necessary and then packaged by a build server every time a change is committed to a source control repository then tested by a number of different techniques possibly including manual testing before it can be marked as releasable Developers used to a long cycle time may need to change their mindset when working in a CD environment It is important to understand that any code commit may be released to customers at any point Patterns such as feature toggles can be very useful for committing code early which is not yet ready for use by end users Using NoSQL can eliminate the step of data migrations and schema changes often manual steps or exceptions to a continuous delivery workflow 12 Other useful techniques for developing code in isolation such as code branching are not obsolete in a CD world but must be adapted to fit the principles of CD for example running multiple long lived code branches can prove impractical as a releasable artifact must be built early in the CD process from a single code branch if it is to pass through all phases of the pipeline clarification needed Deployment pipeline EditContinuous delivery is enabled through the deployment pipeline The purpose of the deployment pipeline has three components visibility feedback and continually deploy 13 Visibility All aspects of the delivery system including building deploying testing and releasing are visible to every member of the team to promote collaboration Feedback Team members learn of problems as soon as possible when they occur so that they are able to fix them as quickly as possible Continually deploy Through a fully automated process you can deploy and release any version of the software to any environment Tools tool types EditContinuous delivery takes automation from source control all the way through production There are various tools that help accomplish all or part of this process 14 These tools are part of the deployment pipeline which includes continuous delivery The types of tools that execute various parts of the process include continuous integration application release automation build automation application lifecycle management 15 Architecting for continuous delivery EditTo practice continuous delivery effectively software applications have to meet a set of architecturally significant requirements ASRs such as deployability modifiability and testability 16 These ASRs require a high priority and cannot be traded off lightly Microservices are often used when architecting for continuous delivery 17 The use of Microservices can increase a software system s deployability and modifiability The observed deployability improvements include deployment independence shorter deployment time simpler deployment procedures and zero downtime deployment The observed modifiability improvements include shorter cycle time for small incremental functional changes easier technology selection changes incremental quality attribute changes and easier language and library upgrades 17 Implementation and usage EditThe original CD book written by Jez Humble and David Farley 2010 popularized the term however since its creation the definition has continued to advance and now has a more developed meaning Companies today are implementing these continuous delivery principles and best practices The difference in domains e g medical vs web is still significant and affects the implementation and usage 18 Well known companies that have this approach include Yahoo 19 Amazon 20 Facebook 21 Google 22 Paddy Power 1 and Wells Fargo 23 Benefits and obstacles EditSeveral benefits of continuous delivery have been reported 1 18 Accelerated time to market Continuous delivery lets an organization deliver the business value inherent in new software releases to customers more quickly This capability helps the company stay a step ahead of the competition Building the right product Frequent releases let the application development teams obtain user feedback more quickly This lets them work on only the useful features If they find that a feature isn t useful they spend no further effort on it This helps them build the right product Improved productivity and efficiency Significant time savings for developers testers operations engineers etc through automation Reliable releases The risks associated with a release have significantly decreased and the release process has become more reliable With continuous delivery the deployment process and scripts are tested repeatedly before deployment to production So most errors in the deployment process and scripts have already been discovered With more frequent releases the number of code changes in each release decreases This makes finding and fixing any problems that do occur easier reducing the time in which they have an impact Improved product quality The number of open bugs and production incidents has decreased significantly Improved customer satisfaction A higher level of customer satisfaction is achieved Obstacles have also been investigated 18 Customer preferences Some customers do not want continuous updates to their systems This is especially true at the critical stages of their operations Domain restrictions In some domains such as telecom and medical regulations require extensive testing before new versions are allowed to enter the operations phase Lack of test automation Lack of test automation leads to a lack of developer confidence and can prevent using continuous delivery Differences in environments Different environments used in the development testing and production can result in undetected issues slipping to the production environment Tests needing a human oracle Not all quality attributes can be verified with automation These attributes require humans in the loop slowing down the delivery pipeline Eight further adoption challenges were raised and elaborated on by Chen 7 These challenges are in the areas of organizational structure processes tools infrastructure legacy systems architecting for continuous delivery continuous testing of non functional requirements and test execution optimization Strategies to overcome adoption challenges EditThis section contains instructions advice or how to content The purpose of Wikipedia is to present facts not to train Please help improve this article either by rewriting the how to content or by moving it to Wikiversity Wikibooks or Wikivoyage January 2022 Several strategies to overcome continuous delivery adoption challenges have been reported 7 Strategies to Overcome CD Adoption Challenges Strategy DescriptionSelling CD as a painkiller Identify each stakeholder s pain points that CD can solve and sell CD as a painkiller to that stakeholder This strategy helps to achieve buy in from the wide range of stakeholders that a CD implementation requires Dedicated team with multi disciplinary members Without a dedicated team it can be hard to progress because employees are often assigned to work on other value streams A multi disciplinary team not only provides the wide range of skills required for CD implementation but also smooths the communication with related teams Continuous delivery of continuous delivery Organize the implementation of CD in a way that delivers value to the company as early as possible onboarding more projects gradually in small increments and eventually rolling out CD across the whole organization This strategy helps justify the investment required by making concrete benefits visible along the way Visible benefits in turn help to achieve the sustained company support and investment required to survive the long and tough journey to CD Starting with easy but important applications When selecting the first few applications to migrate to CD choose the ones that are easy to migrate but that are important to the business Being easy to migrate helps to demonstrate the benefits of CD quickly which can prevent the implementation initiative from being killed Being important to the business helps to secure the required resources demonstrates clear and unarguable value and raises the visibility of CD in the organization Visual CD pipeline skeleton Give a team a visual CD pipeline skeleton that has the full CD pipeline view but with empty stages for those they cannot implement yet This helps to build up a CD mindset and maintain the momentum for CD adoption The pipeline skeleton is especially useful when the team s migration to CD requires a large effort and mindset changes over a long period of time Expert drop Assign a CD expert to join tough projects as a senior member of the development team Having the expert on the team helps to build the motivation and momentum to move to CD from inside the team It also helps to maintain momentum when the migration requires a large effort and a long period of time See also EditApplication lifecycle management Application release automation Build management Change management CI CD Continuous configuration automation Continuous delivery practices 24 Continuous integration Continuous testing DevOps Release management Software configuration management Version control WinOpsFurther reading EditHumble Jez Farley David 2010 Continuous Delivery Reliable Software Releases Through Build Test and Deployment Automation Addison Wesley ISBN 978 0 321 60191 9 Wolff Eberhard 2017 A Practical Guide to Continuous Delivery Addison Wesley ISBN 978 0 134 69147 3 References Edit a b c d Chen Lianping 2015 Continuous Delivery Huge Benefits but Challenges Too IEEE Software 32 2 50 54 doi 10 1109 MS 2015 27 S2CID 1241241 a b Shahin Mojtaba Ali Babara Muhammad Zhu Liming 2017 Continuous Integration Delivery and Deployment A Systematic Review on Approaches Tools Challenges and Practices IEEE Access 5 3909 3943 arXiv 1703 07019 Bibcode 2017arXiv170307019S doi 10 1109 ACCESS 2017 2685629 S2CID 11638909 Continuous Deployment An Essential Guide IBM 2019 10 02 Retrieved 2022 11 28 Continuous deployment is the natural outcome of continuous delivery done well Eventually the manual approval delivers little or no value and is merely slowly things down At that point it is done away with and continuous delivery becomes continuous deployment Hammond Jeffrey 9 September 2011 The Relationship between DevOps and Continuous Delivery Forrester Research Forester a b Humble Jez Farley David 2011 Continuous Delivery reliable software releases through build test and deployment automation Pearson Education Inc ISBN 978 0 321 60191 9 Swartout Paul 2012 Continuous Delivery and DevOps A Quickstart guide Packt Publishing ISBN 978 1849693684 a b c Chen Lianping 2017 Continuous Delivery Overcoming adoption challenges Journal of Systems and Software 128 72 86 doi 10 1016 j jss 2017 02 013 bliki ContinuousDelivery martinfowler com Retrieved 2015 10 29 Shahin Mojtaba Babar Muhammad Ali Zahedi Mansooreh Zhu Liming 2017 Beyond Continuous Delivery An Empirical Investigation of Continuous Deployment Challenges 2017 ACM IEEE International Symposium on Empirical Software Engineering and Measurement ESEM pp 111 120 doi 10 1109 ESEM 2017 18 ISBN 978 1 5090 4039 1 S2CID 3479812 Humble J Read C North D 2006 The Deployment Production Line Agile 2006 Agile 06 pp 113 118 doi 10 1109 AGILE 2006 53 ISBN 0 7695 2562 8 S2CID 16572138 Fitzgerald Brian 2014 06 03 Continuous Software Engineering and Beyond Trends and Challenges PDF 1st International Workshop on Rapid Continuous Software Engineering New York NY Association for Computing Machinery pp 1 9 doi 10 1145 2593812 2593813 hdl 10344 3896 ISBN 978 1 4503 2856 2 Archived from the original PDF on 2014 10 25 Retrieved 2014 10 24 Kluge Lars 12 September 2013 Continuous Deployment with MongoDB at Kitchensurfing slideshare net Retrieved 3 January 2014 Duvall Paul 2012 Continuous Delivery Patterns and Anti Patterns in Software Lifecycle PDF Refcardz Retrieved October 9 2015 Phillips Andrew 29 July 2014 The Continuous Delivery Pipeline What it is and Why it s so important in Developing Software DevOps com Archived from the original on 28 September 2015 Retrieved October 9 2015 Binstock Andrew 16 September 2014 Continuous Delivery The Agile SUccessor Dr Dobb s the World of Software Development San Francisco UBM Chen Lianping 2015 Towards Architecting for Continuous Delivery The 12th Working IEEE IFIP Conference on Software Architecture WICSA 2015 Montreal Canada IEEE doi 10 1109 WICSA 2015 23 a b Chen Lianping 2018 Microservices Architecting for Continuous Delivery and DevOps The IEEE International Conference on Software Architecture ICSA 2018 IEEE a b c Leppanen M Makinen S Pagels M Eloranta V P Itkonen J Mantyla M V Mannisto T 2015 03 01 The Highways and Country Roads to Continuous Deployment IEEE Software 32 2 64 72 doi 10 1109 MS 2015 50 ISSN 0740 7459 S2CID 18719684 Implementing Continuous Delivery at Yahoo confreaks tv 23 October 2013 Velocity 2011 Jon Jenkins Velocity Culture youtube com 20 June 2011 Rapid Release At Massive Scale 2017 08 31 Humble Jez 13 February 2014 The Case for Continuous Delivery thoughtworks com Retrieved 16 July 2014 jFrog December 2014 2014 year continuous integration revolution Building Evolutionary Architecture Retrieved from https en wikipedia org w index php title Continuous delivery amp oldid 1170561773, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.