프론트엔드 개발자가 되기위한 여정-56

이정우·2022년 10월 27일
0

frontend-bootcamp

목록 보기
59/60

밸!하~

밸로그 여러분 안녕하세요!

오늘은 CI/CD에 대해서 알아볼수있도록 하겠습니다!

CI/CD란 무엇일까요 ??

함꼐 알아볼까요??

CI/CD란?

CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다.
즉 자동배포라고 하는데요

CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다
그러면 무엇을 통합할까요?

네! 여러분이 생각하시는 바로
지속적인 코드의 통합입니다 또한 이를통해서 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제일명 ("인테그레이션 헬(integration hell)")을 해결하기 위한 방법을 이야기합니다!

특히, CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링제공합니다!
이러한것을 CI/CD파이프라인이라고 부르며 애자일 방법론에서 주로 쓰입니다!

그럼 CI와 CD의 차이점이 무엇일까요?

CI/CD의 차이점

CI
는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다!
이CI를 잘 사용한다면 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다!

그래서 깃을 사용해서 형상관리를 진행할때 PR(Pull Request)를 보내면 자동적으로 합칠수 있다는거죠
개발시간도 단축되고 추가적인 성능개선도 진행할수있게됩니다!

이렇게 CI를 성공적으로 이뤄지게되면
CD 에가서 배포를 할것인지 아니면 검증을 할건지 선택을 할수 있게됩니다!

자 이번엔
CD 입니다!
"CD"는 지속적인 서비스 제공(Continuous Delivery) 및/또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됩니다!
두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻하지만 때로는 얼마나 많은 자동화가 이루어지고 있는지를 설명하기 위해 별도로 사용되기도 합니다!

그럼 지속적인 서비스 제공과
지속적인 배포를 한번 알아볼까요??

지속적인 서비스 제공

지속적인 서비스 제공이란
개발자들이 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리(예: GitHub 또는 컨테이너 레지스트리)에 자동으로 업로드되는 것을 뜻하며, 운영팀은 이 리포지토리에서 애플리케이션을 실시간 프로덕션 환경으로 배포할 수 있습니다

이번엔

지속적인 배포

지속적인 배포란 개발자의 변경 사항을 리포지토리에서 고객이 사용 가능한 프로덕션 환경까지 자동으로 릴리스하는 것을 의미합니다.

자 오늘은 이렇게 CI와 CD에 대해서 알아보았는데요!

CI와 CD가 어떻게 다른지 또한 이것들의 장점이 무엇이고 왜 사용하는지 알겠죠??
오늘도 부족한 지식 한개 채웠습니다!

그럼 오늘도 이만
밸~바!

profile
주니어 프론트엔드 개발자

0개의 댓글