유투버 드림코딩 님의 CI/CD 영상을 보고 작성합니다.
CI/CD란
- 애플리케이션 개발 단계부터 배포까지
- 자동화를 통해 효율적이고 빠르게 자주
- 사용자에게 전달하는 개발 프로세스입니다.
- CI는 Continuous Integration의 약자로 지속적인 통합을 의미합니다.
- CD는 Continuous Delivery 혹은 Deployment의 약자입니다.
CI
- 코드 변경사항을 주기적으로 빈번하게 머지
- 통합을 위한 단계(빌드, 테스트, 머지)의 자동화
로 코드가 자동으로 테스트 되므로 문제점을 빠르게 발견할 수 있고, 버그 수정이 용이해지기 때문에 안정성이 있다는 장점이 있습니다.
CD
- Continuous Delivery : CI 과정을 통해 Release 가 준비된 상태에서 개발자가 판단하여 수동으로 Deploy를 진행한 경우
- Continuous Deployment : CI 과정을 통해 Release가 준비된 상태에서 자동으로 Deploy가 진행되는 경우
로 구분할 수 있습니다.
사용되는 툴에는 Jenkins, Buildkite, GitHub Actions, GitLab CI/CD, Bitbucket Pipelines, circleci 등이 있습니다.