CI (Continuous Integration)
CI (Continuous Integration) means continuous integration. It is a process of automatically building and testing code whenever it is written and changed. Simply put, it is a process of automatically integrating code written by multiple developers.
How CI Works
- A developer modifies code
- The code is pushed to a repository (e.g., GitHub)
- A CI tool automatically fetches the code and builds it
- It runs tests
- It notifies the developer with the results
Benefits of CI
- Code issues can be found quickly
- The time for manually building and testing can be reduced
- High-quality code can be maintained
CD (Continuous Deployment)
CD (Continuous Deployment) means continuous deployment. It is a process of automatically reflecting the code that has passed through the CI process into a service. In other words, it is a process of making developed content available to users right away.
How CD Works
- It receives the code that has passed through the CI process
- It automatically starts the deployment process
- It applies the new code to the service
- It checks the deployment results
Benefits of CD
- There is no need for manual deployment processes
- Deployment errors can be reduced
- New features can be provided quickly
Representative CI/CD Tools
- Jenkins: The most widely used tool
- GitHub Actions: A tool that works well with GitHub
- GitLab CI: A tool provided by GitLab
- AWS CodePipeline: A tool provided by AWS
Summary
CI/CD automates the process from development to deployment. CI automates the process of integrating and testing code, and CD automates the process of reflecting this into the actual service. This allows developers to focus more on writing code, and users can use new features more quickly.