-
CI/CD의 개념 요약개발 2022. 9. 19. 16:06
개발자가 코드를 수정한 이후, 빌드/테스트/배포 자동화를 하는 과정을 구축하고자 합니다.
📘 CI/CD 개념
- 개발 단계를 자동화하여 짧은 주기로 배포가 가능하도록 하기 위한 방법입니다.
- 새로운 코드를 통합할 때 발생하는 충돌문제를 해결하기 위한 방법입니다.
- 통합/테스트 단계의 전체적인 생명주기에 지속적인 자동화와 모니터링을 제공합니다.
- 애자일 방식에 적합합니다.
- 파이프라인으로 표현되는 실제 프로세스
- 지속적인 자동화 및 지속적인 모니터링 추가
- Continuous Integration (지속적인 통합)
- 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합됩니다.
- 여러 명의 작업자가 동시에 관련한 코드 작업을 하더라도 충돌 문제는 해결됩니다.
- Continuous Delivery (지속적인 전달)
- 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리에 자동으로 업로드 되는 것을 말합니다.
- 이 리포지토리에서 실시간 프로덕션 환경으로 배포가 가능합니다.
- 최소한의 노력으로 새로운 코드를 배포하는 것을 목표로 합니다.
- Continuous Deployment (지속적인 배포)
- 변경 사항을 리포지토리에서 프로덕션 환경까지 자동으로 릴리즈하는 것을 말합니다.
- 파이프라인의 다음 단계를 자동화합니다.
- 수동 프로세스로 인한 프로세스 과부하 문제를 해결할 수 있습니다.
[참고 자료]
https://docs.gitlab.com/ee/ci/
https://www.redhat.com/ko/topics/devops/what-is-ci-cd
'개발' 카테고리의 다른 글
macOS에서 Homebrew 설치하기 (1) 2022.09.21 GitLab CI/CD (0) 2022.09.20