๐—›๐—ผ๐˜„ ๐˜๐—ผ ๐—ฐ๐—ต๐—ผ๐—ผ๐˜€๐—ฒ ๐—ฎ ๐—ฐ๐—น๐—ผ๐˜‚๐—ฑ ๐—–๐—œ/๐—–๐—— ๐—ฝ๐—น๐—ฎ๐˜๐—ณ๐—ผ๐—ฟ๐—บ?

CI and CD stand for ๐—–๐—ผ๐—ป๐˜๐—ถ๐—ป๐˜‚๐—ผ๐˜‚๐˜€ ๐—œ๐—ป๐˜๐—ฒ๐—ด๐—ฟ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ฎ๐—ป๐—ฑ ๐—–๐—ผ๐—ป๐˜๐—ถ๐—ป๐˜‚๐—ผ๐˜‚๐˜€ ๐——๐—ฒ๐—น๐—ถ๐˜ƒ๐—ฒ๐—ฟ๐˜†. In the simplest terms possible, Continuous Integration (CI) is a technique where incremental code changes are reliably and regularly made. Code updates merged into the repository are made reliable by automated build-and-test procedures that CI sparks. Then, the code is swiftly and efficiently deployed as part of the CD process.

The ๐—–๐—œ/๐—–๐—— ๐—ฝ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ, as used in the software industry, is the automation that enables developers to reliably transfer incremental code changes from their machines to test and production.

CI/CD often includes a ๐—–๐—ผ๐—ป๐˜๐—ถ๐—ป๐˜‚๐—ผ๐˜‚๐˜€ ๐——๐—ฒ๐—ฝ๐—น๐—ผ๐˜†๐—บ๐—ฒ๐—ป๐˜, too, which means that the code deployed to the repository will be automatically deployed to production. Taken together, these connected practices are often referred to as a “๐—–๐—œ/๐—–๐—— ๐—ฃ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ.” They are usually maintained using a DevOps or SRE approach.

Having CI/CD pipelines has multiple benefits, such as improved collaboration, code quality, and more agile and reliable systems.

There are ๐—ฑ๐—ถ๐—ณ๐—ณ๐—ฒ๐—ฟ๐—ฒ๐—ป๐˜ ๐˜€๐˜๐—ฎ๐—ด๐—ฒ๐˜€ of a CI/CD pipeline, such as ๐—ฏ๐˜‚๐—ถ๐—น๐—ฑ, ๐˜๐—ฒ๐˜€๐˜ ๐—ฎ๐—ป๐—ฑ ๐—ฑ๐—ฒ๐—ฝ๐—น๐—ผ๐˜†, but there could be much more activities included:

๐Ÿ”น Checking code from version control and building it
๐Ÿ”น Having staged gates for different kinds of approvals
๐Ÿ”น Managing environment variables
๐Ÿ”น Restarting services
๐Ÿ”น Executing tests
๐Ÿ”น And more…

Some popular CI/CD tools:

๐Ÿ”ธ Jenkins
๐Ÿ”ธ TeamCity
๐Ÿ”ธ CircleCI
๐Ÿ”ธ Bamboo
๐Ÿ”ธ GitLab
๐Ÿ”ธ Azure DevOps

When ๐—ฐ๐—ต๐—ผ๐—ผ๐˜€๐—ถ๐—ป๐—ด ๐˜๐—ต๐—ฒ ๐—–๐—น๐—ผ๐˜‚๐—ฑ ๐—–๐—œ/๐—–๐—— ๐—ฝ๐—น๐—ฎ๐˜๐—ณ๐—ผ๐—ฟ๐—บ, it must be tightly integrated with your repositories. Store your pipelines and config in version control, not just inside the CI/CD tool.

Choose tools like Docker that support your languages, frameworks, and containers. Ensure your team understands how CI/CD works and the tool youโ€™re usingโ€”some platforms are easier to learn than others.

You donโ€™t need to standardize on one tool across all projectsโ€”different stacks might need different pipelines.

![[Pasted image 20250416221234.png]]