📌 CI(Continuous Integeration) / CD(Continuous Delivery, Deployment)
⭐ 개념
- 애플리케이션 개발 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법
⭐ CI(지속적 통합)
- 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합되는 것을 의미
⭐ CD(지속적 배포)
- Production 레벨까지 자동으로 deploy 하는 것을 의미
⭐ CI/CD 파이프라인
💡 장점
- 코드배포까지 체계적으로 만들 수 있음
- 테스트가 강제됨
💡 단계별 정리
- 빌드(BUILD)
- 많은 파일들을 정적 자산으로 만드는 과정
- 컴파일(기계어 변환) + 링크(파일들을 연결해 exe 파일 만듬)
ex) webpack
- 테스트(TEST)
- 단위 테스트 : 함수 같은 작은 단위를 테스트
- 통합 테스트 : 모듈 통합
- 엔드투엔드 테스트 : 사용자가 서비스를 사용하는 상황을 가정해서 테스트
ex) MOCHA
- 병합(MERGE)
ex) Git
- 배포(Deployment)
- GitLab
- Jenkins
- Circle CI
- HEROKU