코드작성부터 배포 때까지의 일련의 과정을 CI/CD 파이프라인이라고 하고 3가지 단계로 구성됩니다.
Continuous Integration
코드를 Build
하고 Test
하고 Merge
합니다.
프로젝트를 할때 충돌을 최소화하는게 중요하고 보통 작은 Issue
단위로 나누어서 머지를한다.
Continuou Delivery
저장소에 Release
합니다.
Continuous Deployment
Production
에 Deploy
합니다.
파이프라인이 주는 장점은 배포까지의 과정을 체계적
으로 만들수 있고 코드를 합치기 전 테스트를 강제 할수있고 이 과정을 자동화하여 효율성
과 안정성
을 향상 시킬수 있다.
Test
테스트는 작은 단위를 테스팅하는 단위 테스트
, 모듈을 통합할 때 테스트하는 통합테스트
, 실제 서비스 상황을 가정하여 테스트하는 엔드투엔드테스트
, 그리고 보안테스트
가 대표적이다.
## Deploy 배포는 사용자를 위한 서비스 배포 뿐만이 아니라 내부적으로 QA엔지니어나 관리자페이지를 위한 배포, 백엔드개발자를 위해 데이터를 가공하여 배포등을 포함한다.
## Tool CI/CD를 위한 툴로는 github action
, genkins
, circle ci
가 유명하고
` heroku를 통해서도 설정 없이 자동으로 가능하고,
heroku + github action`으로도 사용할 수 있다.