CI/CD - Continuous Integration (CI) and Continuous Delivery (CD)

Continuous integration (CI) is the practice of consolidating all new source code into a shared version control server such as GitHub, several times a day.

Continuous delivery (CD) is used to deliver (release) software in short cycles, ensuring that the software can be released reliably at any time. It aims at building, testing, and releasing software with complete automation.

This approach helps reduce the cost, time, and risk of delivering changes by allowing incremental updates to applications in production. A reliable and repeatable deployment process is essential for continuous delivery.

Extreme Programming (XP) is an agile methodology that emphasizes frequent integration and continuous feedback. In XP, developers are encouraged to integrate code changes into the shared codebase multiple times a day, sometimes as frequently as tens of times per day. This ensures early detection and resolution of integration issues, reducing conflicts and bugs caused by delayed integration.