지속적으로 코드를 합치고 배포해야 하는데 이를 수동으로 한다면 문제가 발생할 수 있다.
여러가지 모듈을 정적 자산으로 빌드한다. .vue
처럼 웹 브라우저에서 사용할 수 없는 확장자를 브라우저에서 사용할 수 있는 .js
, .html
, .css
로 바꿔준다.
배포할 때 빌드 과정을 거쳐야 한다.
단위 테스트: 함수 등 작은 단위 테스트
통합 테스트: 모듈을 통합할 때 테스트
엔드투엔드 테스트: 사용자가 서비스를 사용하는 상황을 가정해서 테스트
보안 테스트: 공격자가 서비스를 공격했을 때 막아줄 수 있도록 테스트
개발한 코드를 합치는 것. 머지 충돌을 최소화해야 한다. 충돌은 대부분 일어나기 때문에 더 작은 단위로 일어나게 해야 한다. 너무 atomic하게 작업을 쪼개는 것이 아니라, 작은 이슈 단위로 나누어서 작업하고 머지를 한다.
사용자를 위한 서비스 배포 뿐만 아니라, QA엔지니어나 관리자 페이지를 위한 배포, 데이터웨어하우스로부터 데이터를 가공해서 백엔드 개발자를 위한 배포 등을 포함한다.
delivery
메인 브랜치에 최종 코드를 release 하는 것
deployment
사용자들이 이용하도록 production, 실제 서비스에 배포하는 것
delivery, deployment를 자동으로 한 번에 하거나, 나눠서 수동으로 하는 회사들이 있다