---
type: archive
area: archive
status: archived
date: 2026-05-03
created: 2026-05-03
updated: 1980-01-01
tags:
  - archive
---
# CI
Development practice of code integration into a shared repository. each integration is verified by an automated build and automated test.

# CD
continuous deployment is an extension of continuous integration it aims to reduce the time the development team takes between writing one new line of code and using it in production
- highly automated process
- based on scripts 
- provision also infrastructure automatically

Most CI used tools are Jenkins
![[img-20241004-205522-83b6a729.png]]

![[img-20241004-205652-19f7bc1e.png]]

Jenkins is java based open-source automation tool it functions as a server and is a software development and cross platform tool used for continuous integration and continuous deployment.

# Difference between continuous deployment and continuous delivery:
![[img-20241006-104736-ddfcad36.png]]

Successful CI means that once a developer’s changes to an application are merged, those changes are validated by automatically building the application and running different levels of automated testing, typically unit and integration tests, to ensure the changes haven’t broken the app. This means testing everything from classes and function to the different modules that comprise the entire app. One of the benefits of CI is that if automated testing discovers a conflict between new and existing code, it is easier to fix those bugs quickly and often.

# Continuous delivery
In continuous delivery every stages from the merger of code changes to the delivery of production-ready builds—involves test automation and code release automation.
Release is done in (Github releases, Docker images)

The purpose of continuous delivery is to have a codebase that is always ready for deployment to a production environment, and ensure that it takes minimal effort to deploy new code.

# Continuous deployment
 Continuous deployment is an extension of continuous delivery, and can refer to automating the release of a developer’s changes from the repository to production, where it is usable by customers.
 In practice, continuous deployment means that a developer’s change to a cloud application could go live within minutes of writing it (assuming it passes automated testing).
# DevSecOps
DevSecOps (development, security, and operations) is an approach to culture, automation, and platform design that integrates security as a shared responsibility throughout the entire IT lifecycle. A key component of DevSecOps is the introduction of a secure CI/CD pipeline.