継続的デリバリー – Wikipedia

継続的デリバリー(けいぞくてきデリバリー、英語: continuous delivery、CD)とは、チームが短いサイクルでソフトウェアを生産し、いつでも確実にソフトウェアをリリースできるようにし、ソフトウェアをリリースする際には、手動で行うソフトウェアエンジニアリングのアプローチである[1][2]。これは、ソフトウェアの構築、テスト、リリースをより迅速かつ頻繁に行うことを目的としている。このアプローチは、運用中のアプリケーションをより段階的に更新できるようにすることで、変更を提供するためのコスト、時間、リスクを削減するのに役立つ。継続的デリバリーを行うためには、簡単で再現性のあるデプロイメントプロセスが重要である。

継続的デリバリーは継続的デプロイとは対照的で、ソフトウェアは同様に短いサイクルで生産されるが、手動デプロイメントによってリリースを行う。

DevOpsとの関係[編集]

継続的デリバリーとDevOpsは意味が似ていて混同されることが多いが、2つの異なる概念である[3]。DevOpsはより広い範囲を持ち[4]、文化的な変化、具体的にはソフトウェアデリバリに関わる様々なチーム(開発者、運用、品質保証、管理など)の連携や、ソフトウェアデリバリのプロセスの自動化を中心としている。一方、継続的デリバリーは、デリバリーの側面を自動化するアプローチであり、異なるプロセスをまとめて、より迅速かつ頻繁に実行することに重点を置いている[5]。このように、DevOpsは継続的デリバリーのプロダクトであり、CDはDevOpsに直接流れていく。

継続的デプロイとの関係[編集]

継続的デリバリーとは、手動リリースによっていつでもデプロイできるソフトウェアをデリバリーする能力のことで、自動デプロイメントを使用する継続的デプロイメントとは対照的である[6]。Martin Fowlerによると、継続的デプロイメントには継続的デリバリーが必要である[7]。学術的な文献では、手動と自動のデプロイ方法によって、この2つのアプローチを区別している[2][8]

参考文献[編集]

  1. ^ Chen, Lianping (2015). “Continuous Delivery: Huge Benefits, but Challenges Too”. IEEE Software 32 (2): 50–54. doi:10.1109/MS.2015.27. 
  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. 
  3. ^ Hammond, Jeffrey (9 September 2011). “The Relationship between DevOps and Continuous Delivery”. Forrester Research (Forester). http://blogs.forrester.com/jeffrey_hammond/11-09-09-the_relationship_between_dev_ops_and_continuous_delivery_a_conversation_with_jez_humble_of_thought. 
  4. ^ 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 
  5. ^ Swartout, Paul (2012). Continuous Delivery and DevOps: A Quickstart guide. Packt Publishing. ISBN 978-1849693684 
  6. ^ Chen, Lianping (2017). “Continuous Delivery: Overcoming adoption challenges”. Journal of Systems and Software 128: 72–86. doi:10.1016/j.jss.2017.02.013. 
  7. ^ bliki: ContinuousDelivery”. martinfowler.com. 2015年10月29日閲覧。
  8. ^ 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 

関連項目[編集]