728x90
반응형
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 |
---|