CI 소개

CI (Continuous Integration)는 애자일 개발 방법에 속한다. 통합 작업은 미루지 말고 개발 중에라도 꾸준히 해서 소프트웨어 복잡성을 제거하기 위해 사용한다.

애자일 프로젝트는 스프린트라는 짧은 주기로 설계, 개발, 테스트를 여러 번 실시한다. 스프린트 기간은 2주에서 1개월 정도이다. 스프린트 성과물이 요건을 만족하는지 확인된 프로그램이고 기간이 짧기 때문에 매일 개발, 통합, 테스트를 할 수 없다.

빌드와 테스트 자동화

CI는 빌드와 테스트 자동화에서 중요하다. 프로그램이 제대로 작동하고 있는지 피드백을 주는 통합 자동화 역할을 한다. 스프린트는 CI라는 짧고 빠른 피드백 주기로 구성되어 개발 속도와 품질을 높인다.

비용과 속도

CI는 비용과 시장 변화 속도에서 장점이 있다.

  • 비용

개발 속도가 느려지면 그만큼 비용이 발생한다. 버그 발생은 개발 속도를 굉장히 지연한다. 커밋 전이나 바로 후에 버그를 알아차리고 수정하면 다행이다. 하지만.. 일주일 뒤, 아니면 몇 달 뒤에 버그를 수정하려고 코드를 보면 막막해지고 수정이 정말 어렵다.

  • 속도

시장 변화 속도에 발맞출 수 있다는 것을 의미한다. 가독성, 유지 관리를 하면서 개발 주기가 짧아 시장에 민감하게 반응할 수 있다.

Reference

  • 성공으로 이끄는 팀 개발 실천 기술, 제이펍, 2016

'Docker, Kubernetes' 카테고리의 다른 글

쿠버네티스 deployment 업데이트 방법  (0) 2021.02.23
쿠버네티스 기본 명령어  (0) 2021.02.23
Docker 기본 명령어  (0) 2021.02.23
Commit Message 규칙  (0) 2020.12.27
브랜치 전략 패턴 git-flow, github-flow  (0) 2020.12.26

+ Recent posts