CI/CD: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
add content and journal citations
Reverted 1 edit by Zubairhaw12 (talk): We don't talk to readers or give advice. WP:NOTHOWTO
 
(27 intermediate revisions by 19 users not shown)
Line 1: Line 1:
{{Short description|Software development methodology}}
{{Short description|Software development methodology}}
{{for| corporate communication topics|corporate identity|corporate design}}
{{For|corporate communication topics|Corporate identity|Corporate design}}
{{Software development process}}
{{Software development process}}
In [[software engineering]], '''CI/CD''' or '''CICD''' is the combined practices of [[continuous integration]] (CI) and either [[continuous delivery]] or [[continuous deployment]] (CD).<ref>{{Cite news |url=https://www.infoworld.com/article/3271126/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html|title=What is CI/CD? Continuous integration and continuous delivery explained|last=Sacolick|first=Isaac|date=2020-01-17|work=[[InfoWorld]]|access-date=2021-06-01|language=en}}</ref>


In [[software engineering]], '''CI/CD''' or '''CICD''' is the combined practices of [[continuous integration]] (CI) and [[continuous delivery]] (CD) or, less often, [[continuous deployment]].<ref>{{Cite news |url=https://www.infoworld.com/article/3271126/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html|title=What is CI/CD? Continuous integration and continuous delivery explained|last=Sacolick|first=Isaac|date=2020-01-17|work=[[InfoWorld]]|access-date=2021-06-01|language=en}}</ref> They are sometimes referred to collectively as continuous development or continuous software development.<ref>{{cite web | url=https://www.synopsys.com/glossary/what-is-continuous-development.html | title=What is Continuous Development and How Does It Work? &#124; Synopsys }}</ref>
CI/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications. CI/CD services compile the incremental code changes made by developers, then link and package them into software deliverables.<ref>{{cite book |first=Sander |last=Rossel |title=Continuous Integration, Delivery, and Deployment |date=October 2017 |publisher= Packt Publishing |isbn=978-1-78728-661-0}}</ref> Automated tests verify the software functionality, and automated deployment services deliver them to end users.<ref>{{cite journal |first=Keheliya |last=Gallaba |title=Improving the Robustness and Efficiency of Continuous Integration and Deployment |journal=2019 IEEE International Conference on Software Maintenance and Evolution (ICSME) |date=2019 |pages=619–623 |doi=10.1109/ICSME.2019.00099}}</ref> The aim is to increase early defect discovery, increase productivity, and provide faster release cycles. The process contrasts with traditional methods where a collection of software updates were integrated into one large batch before deploying the newer version. Modern-day [[DevOps]] practices involve continuous development, continuous testing, continuous integration, continuous deployment and continuous monitoring of software applications throughout its development life cycle. The CI/CD practice, or ''CI/CD pipeline'', forms the backbone of modern day DevOps operations.

== Comparison ==
;[[Continuous integration]]: Frequent merging of several small changes into a [[main branch]].
;[[Continuous delivery]]: When teams produce software in short cycles with high speed and frequency so that reliable software can be released at any time, and with a simple and repeatable deployment process when deciding to deploy.
;[[Continuous deployment]]: When new software functionality is rolled out completely automatically.

== Motivation ==
CI/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications. CI/CD services compile the incremental code changes made by developers, then link and package them into software deliverables.<ref>{{cite book |first=Sander |last=Rossel |title=Continuous Integration, Delivery, and Deployment |date=October 2017 |publisher= Packt Publishing |isbn=978-1-78728-661-0}}</ref> Automated tests verify the software functionality, and automated deployment services deliver them to end users.<ref>{{cite book |first=Keheliya |last=Gallaba |title=2019 IEEE International Conference on Software Maintenance and Evolution (ICSME) |chapter=Improving the Robustness and Efficiency of Continuous Integration and Deployment |date=2019 |pages=619–623 |doi=10.1109/ICSME.2019.00099|isbn=978-1-7281-3094-1 |s2cid=208879679 |chapter-url=https://escholarship.mcgill.ca/concern/theses/wd376267t }}</ref> The aim is to increase early defect discovery, increase productivity, and provide faster release cycles. The process contrasts with traditional methods where a collection of software updates were integrated into one large batch before deploying the newer version. Modern-day [[DevOps]] practices involve:
* continuous development,
* [[continuous testing]],
* continuous integration,
* continuous deployment, and
* [[continuous monitoring]]
of software applications throughout its development life cycle. The CI/CD practice, or ''CI/CD [[Pipeline (computing)|pipeline]]'', forms the backbone of modern day DevOps operations.

== See also ==
* [[Continuous integration]] (CI)
* [[Continuous delivery]] (CD)
* [[Continuous deployment]] (CD)


==References==
==References==
{{Reflist}}
{{Reflist}}


== External Links ==
== External links ==
* {{cite journal |first1=B. |last1=El Khalyly |first2=A. |last2=Belangour |first3=M. |last3=Banane |first4=A. |last4=Erraissi |title=A new metamodel approach of CI/CD applied to Internet of Things Ecosystem |journal=2020 IEEE 2nd International Conference on Electronics, Control, Optimization and Computer Science (ICECOCS) |date=2020 |pages=1–6 |doi=10.1109/ICECOCS50124.2020.9314485 |url=https://ieeexplore.ieee.org/abstract/document/9314485}}
* {{cite book |first1=B. |last1=El Khalyly |first2=A. |last2=Belangour |first3=M. |last3=Banane |first4=A. |last4=Erraissi |title=2020 IEEE 2nd International Conference on Electronics, Control, Optimization and Computer Science (ICECOCS) |chapter=A new metamodel approach of CI/CD applied to Internet of Things Ecosystem |date=2020 |pages=1–6 |doi=10.1109/ICECOCS50124.2020.9314485 |isbn=978-1-7281-6921-7 |s2cid=231645681 |chapter-url=https://ieeexplore.ieee.org/document/9314485}}
* {{cite journal |first=P. |last=Sane |title=A Brief Survey of Current Software Engineering Practices in Continuous Integration and Automated Accessibility Testing |journal=2021 Sixth International Conference on Wireless Communications, Signal Processing and Networking (WiSPNET) |date=2021 |pages=130–134 |doi=10.1109/WiSPNET51692.2021.9419464 |url=https://ieeexplore.ieee.org/abstract/document/9419464}}
* {{cite book |first=P. |last=Sane |title=2021 Sixth International Conference on Wireless Communications, Signal Processing and Networking (WiSPNET) |chapter=A Brief Survey of Current Software Engineering Practices in Continuous Integration and Automated Accessibility Testing |date=2021 |pages=130–134 |doi=10.1109/WiSPNET51692.2021.9419464 |arxiv=2103.00097 |isbn=978-1-6654-4086-8 |s2cid=232076320 |chapter-url=https://ieeexplore.ieee.org/document/9419464}}

{{Software engineering|state=expanded}}


[[Category:Software development]]
[[Category:Software development]]
[[Category:Software engineering]]

Latest revision as of 10:21, 17 October 2023

In software engineering, CI/CD or CICD is the combined practices of continuous integration (CI) and continuous delivery (CD) or, less often, continuous deployment.[1] They are sometimes referred to collectively as continuous development or continuous software development.[2]

Comparison[edit]

Continuous integration
Frequent merging of several small changes into a main branch.
Continuous delivery
When teams produce software in short cycles with high speed and frequency so that reliable software can be released at any time, and with a simple and repeatable deployment process when deciding to deploy.
Continuous deployment
When new software functionality is rolled out completely automatically.

Motivation[edit]

CI/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications. CI/CD services compile the incremental code changes made by developers, then link and package them into software deliverables.[3] Automated tests verify the software functionality, and automated deployment services deliver them to end users.[4] The aim is to increase early defect discovery, increase productivity, and provide faster release cycles. The process contrasts with traditional methods where a collection of software updates were integrated into one large batch before deploying the newer version. Modern-day DevOps practices involve:

of software applications throughout its development life cycle. The CI/CD practice, or CI/CD pipeline, forms the backbone of modern day DevOps operations.

See also[edit]

References[edit]

  1. ^ Sacolick, Isaac (2020-01-17). "What is CI/CD? Continuous integration and continuous delivery explained". InfoWorld. Retrieved 2021-06-01.
  2. ^ "What is Continuous Development and How Does It Work? | Synopsys".
  3. ^ Rossel, Sander (October 2017). Continuous Integration, Delivery, and Deployment. Packt Publishing. ISBN 978-1-78728-661-0.
  4. ^ Gallaba, Keheliya (2019). "Improving the Robustness and Efficiency of Continuous Integration and Deployment". 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). pp. 619–623. doi:10.1109/ICSME.2019.00099. ISBN 978-1-7281-3094-1. S2CID 208879679.

External links[edit]