CI / CD

남성윤·2022년 10월 12일
0

Code States 학습

목록 보기
60/66

CI / CD


CI
"지속적인 통합"(Continuous Integration)

CD
"지속적인 서비스 제공 / 지속적인 배포"(Continuous / Continuous Deployment)

두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻한다.

CI

개발자를 위한 자동화 프로세스

지속적 통합은 모든 코드 변화를 하나의 리포지토리에서 관리하는 것 부터 시작으로 모든 개발팀이 코드의 변화를 확인할 수 있기 때문에, 투명하게 문제점을 파악할 수 있다. 그리고 잦은 풀 리퀘스트(pull request)와 머지(merge)로 코드를 자주 통합한다. 이렇게 지속적 통합을 통해 개발팀은 각자 개발한 코드를 이른 시점에 자주 합치고 자주 테스트 해볼 수 있습니다.

지속적 통합으로 보안 이슈, 에러 등을 쉽게 파악할 수 있어 해당 이슈를 빠르게 개선할 수 있습니다. 이전에는 각자 개발자가 작성한 코드를 합치고 난 후, 모두 모여서 빌드를 시작하고 나서야 문제점을 파악할 수 있었습니다. 지속적 통합이 적용된 개발팀은 코드를 머지하기 전, 이미 빌드 오류나 테스트 오류를 확인하여 훨씬 더 효율적인 개발을 할 수 있다.

CD

지속적인 서비스 제공(Continuous Delivery) 및 지속적인 배포(Continuous Deployment)

이 프로세스를 완료하면 운영팀이 보다 빠르고 손쉽게 애플리케이션을 프로덕션으로 배포할 수 있게 됩니다. 프로덕션 준비가 완료된 빌드를 코드 리포지토리에 자동으로 릴리스하는 지속적 제공의 확장된 형태인 지속적 배포는 애플리케이션을 프로덕션으로 릴리스하는 작업을 자동화합니다.

최근의 CI/CD

최근에는 클라우드 기술 발전과 맞물려 지속적 통합과 지속적 배포가 빠른 속도로 진행되며 CI/CD를 하나로 묶어서 다루는 경우가 점차 증가하고 있다고 한다. 예를 들어, 이전에는 배포 자체가 상당히 오래 걸리고 힘든 일이어서 릴리즈 단계에서 많은 고민을 하곤 했습니다. 서버를 전부 재시작해야 한다거나, 일부 기능을 제공하지 못하는 경우도 많았기 때문입니다. 요즘은 고객의 피드백을 빨리 받기 위해서, 서비스를 중단하지 않기 위해서 버전 릴리즈만 기록해두고 바로바로 배포하는 사례가 증가하고 있다.

클라이언트 배포


github action을 통해 클라이언트 CI/CD를 구축한 배포 링크

http://fe-35-heeyoon0214.s3-website.ap-northeast-2.amazonaws.com

profile
안녕하세요, Blog 2022.06 ~

0개의 댓글