본문 바로가기
Tips/Infra

CI/CD

by _S0_H2_ 2024. 4. 22.
728x90
반응형

출처 : RedHat

 

CI (Continuous Integration, 지속적 통합)

여러 개발자가 동시에 같은 branch에서 작업을 할 때

- merge 시, 코드 상 충돌날 수 있는 부분에 대해 작업하는 경우

- 코드 상 충돌이 없더라도 기능 테스트 시 영향을 미칠 수 있는 경우

등등의 경우가 발생할 수 있다.

 

팀의 규모가 커지면서 수동으로 push -> merge -> 충돌 해결 -> test 를 진행하는데 많은 시간이 소요됨에 따라

자동화를 통해 효율적으로 관리할 필요가 있다.

 

 

 

CD ( Continuous Deployment, 지속적 배포  / Continuous Deliver, 지속적 제공 )

배포는 최종 사용자에게 sw를 전달하는 것으로,
지속적 배포는 작업이 끝날 때마다 자동으로 production 환경으로 배포된다.

지속적 제공은 개발팀에서 release 후 QA팀의 test환경으로 배포 되는 것으로, 최종 검토 이후에 production 환경으로 배포된다.

* QA팀이 없다면 개발팀에서 최종 검수하는 환경일 수 있음

 

 

 

 

CI/CD 장점

- 코드에서 발생하는 버그, 테스트의 자동화로 배포 간격이 짧아짐

- 개인이 병합할 때마다 테스트를 거치므로, 버그 발생 가능성이 낮아짐

- 코드 배포 및 체크가 자동화되므로, 최종 코드 확인에 필요한 시간이 단축됨

- 버그를 초기에 발견하여 빠른 해결에 도움이 됨

 

 

 

CI/CD를 구축하는 tool은 여러개가 있다.

아래에서는 GithubActions로 구축해본다.

 

// githubaction 구축 link

728x90
반응형

'Tips > Infra' 카테고리의 다른 글

Docker (nestjs, postgresql, pgadmin)  (0) 2024.04.23