728x90
CI (Continuous Integration)
CI는 개발자를 위한 자동화 프로세스인 지속적인 통합 (Continuous Integration)을 의미한다.
빌드와 테스트를 자동화해서 공유 저장소에 병합시키는 프로세스를 뜻한다.
사용하는 이유는 버전관리 시스템을 사용할 때 다수의 개발자가 하나의 공유 저장소에 코드를 작성할 때,
코드의 변경 사항이 저장소에 통합되지 않는 문제를 해결하고,
빌드/테스트 자동화부터 코드의 일관성을 제공하기 때문이다.
CD (Continuous Delivery/Deploy)
CD는 지속적인 서비스 제공 및 지속적인 배포를 의미하며, 두 용어는 상호 교환적으로 사용된다.
- 지속적 전달 : 변경사항이 테스트를 거쳐 저장소에 자동으로 업로드된 상태, 배포 자체는 수동으로 실행한다.
- 개발팀과 비즈니스팀간의 커뮤니케이션 부족 문제를 해결한다.
- 지속적 배포 : 프로덕션까지 자동으로 배포한다.
- 어플리케이션의 제공 속도를 증가시킨다.
CI/CD 장점
- 변경 사항을 자주 푸시하고자 하는 개발자와
안정적인 애플리케이션을 원하는 운영 담당자 사이의 마찰 해결 - 푸시하기전 코드 변경을 검증하기 위해 개발팀은 지속적인 테스트 실행
- 큰 변경보다 안정적으로 통합 및 테스트가 가능한 작은 규모의 증분적 코드 변경을 개발자에게 독려
- 새로운 기능을 위해 더 넓은 범위의 개발 작업을 수행과 동시에 빠른 수정 요청까지 받는 팀에 유연성 부여
- 기능, 성능 및 데이터 중심 테스트를 더 많이 실행해서 더 좋은 애플리케이션을 제공하고
프로덕션 결함을 줄일 수 있게 한다.
정보 출처1)
https://github.com/baeharam/Must-Know-About-Frontend/blob/main/Notes/frontend/ci-cd.md
정보 출처2)
728x90
'FE 이모저모 공부' 카테고리의 다른 글
컴포넌트 UI 테스트를 위한 StoryBook (0) | 2024.01.02 |
---|---|
CSS 애니메이션과 JS 애니메이션 (0) | 2023.09.09 |
모듈 번들러와 트랜스파일러 (0) | 2023.09.07 |
모듈 시스템 : CommonJS, AMD, UMD, ES6 (0) | 2023.08.26 |
BOM(Browser Object Model)과 DOM(Document Object Model) (0) | 2023.08.17 |