컴퓨터 공학 & 통신

[개념 정리] CI/CD

왈왈디 2023. 6. 30. 11:18
728x90

팀 단위로 코드를 작성한 후 서비스를 운영하기 위해서는

지속적으로 코드를 합치고, 코드를 배포해야 한다.

 

지속적인 코드 병합 및 배포를 CI/CD(Continuous Integration/Delivery&Deployment)라고 부른다.

 

여러 개발자가 협업하는 과정에서 배포까지 일어나는 과정들을 

기존에는 수동으로 모두 처리했으나,

반복적인 과정이기에 이를 프로세스화하여 자동으로 진행시켜주는 툴이 나오게 된 것이다.

 

파이프라인

코드 구축부터 배포까지의 일련의 과정을 CI/CD 파이프라인이라고 한다.

크게 3단계로 구성된다.

CI/CD 파이프라인

1. Continuous Integration: 

코드를 빌드하고 테스트하고 합친다.

 

2. Continuous Delivery:

해당 레포지토리에 올린다.

 

3. Continuous Deployment:

실제 서비스(프로덕션)에 배포한다.

 

파이프라인을 통해 코드 작성부터 배포까지 과정이 더 체계적이게 되고, 테스트가 강제된다는 장점이 있다.

파이프라인에 테스트가 내장되어 있어 테스트 없이는 코드가 머지되지 않게 할 수 있다.

 

CI/CD 툴

github action, genkins, circle ci가 유명하고, heroku를 통해서는 CI/CD 설정 없이 자동으로도 가능하다.

heroku + github action으로 설정도 가능하다.

참고로, heroku가 aws에 비해 비용이 낮은 편이다.

 

참고: inflearn 강의 'CS 지식의 정석 - 큰돌'

728x90