CI/CD 파이프라인 구축에 앞서서 미리 공부를 해야할 것 같아서 정리겸 끄적여본다.
- 정리한 내용이 아닐 수도 있다..
CI/CD란? 개발부터 배포까지의 과정을 자동화 하는 것
CI(Continuous Integration) :지속적 통합
- 기존의 개발자들이 수시로 머지하여 애플리캐이션을 빌드, 테스트, 병합하는 과정을 자동화하여 충돌을 예방하고 문제점을 빠르게 파악할 수 있는 장점이 있다.
CD(Continuous Delivery / Continuous Deployment) :지속적 제공 또는 배포
- CI를 통해 애플리케이션이 문제가 없고 배포 준비가 끝났으면 이를 수동 혹은 자동으로 배포하는 것
다른 개념이지만 함께 묶여서 사용되기에 CI/CD로 묶여서 불려진다.
장,단점은?
- 장점: 테스트하고 배포하는 과정에 들이는 시간을 줄일 수 있고 즉시 코드 수정이 가능하여 생산성을 늘릴 수 있다.
- 단점: 보안 관련하여 문제가 있는 듯 하다. 개발자계정을 해킹하여 CICD를 접속하여 고객정보를 털어간 사례가 있다고 함
CI/CD의 자동화를 구현해주는 다양한 도구와 서비스들이 있음
- 젠킨스, Github action 등
CI/CD 파이프라인이 구축 되면 Git push만 하면 테스트 및 배포, 오류 보고까지 되는 과정을 자동화할 수 있다.
- 참고 사이트