CI/CD

‎김연수·2024년 5월 17일
0

AWS-Cloud-Club-Ewha

목록 보기
4/7

CI

Continuous Integration 지속적 통합
새로운 코드 변경 사항이 공유 소스 리포지토리에 자동으로 자주 통합되는 것

CI 작동 방식

Git과 같은 버전 관리 제어 시스템을 사용하여 공유된 리포지토리에 빈번하게 커밋하게 됨. 각 커밋 전에, 통합 전 추가 검층 계층으로써 코드에 로컬 유닛 테스트를 수행할 수 있음. 새로운 코드 변화에 대한 유닛 테스트를 자동으로 구축하고 실행하여 즉시 모든 오류를 표면화함.

CD

Continuous Delivery & Continuous Deployment 지속적 전달
개발자의 변경사항이 리포지토리를 넘어, 고객의 프로덕션 환경까지 릴리즈 되는 것을 의미.

1. Continuous Delivery 지속적 전달

  • CI에서 빌드와 단위 및 통합 테스트를 자동화한 다음 검증된 코드를 리포지토리 (예: GitHub, 컨테이너 레지스트리)로 릴리즈하는 것을 자동화 (실제 프로덕션 환경에 배포하기전까지) 최종 배포는 수동으로 실행

2. Continuous Deployment 지속적 개발

  • 모든 과정을 자동화하며, 테스트가 통과되면 코드 변경사항이 자동으로 프로덕션 환경에 배포하여 고객이 사용할 수 있도록 하는 것 성숙한 CI/CD 파이프라인의 최종 단계, 많은 선행 투자가 필요

AWS Code Series

  1. AWS CodeCommit
  2. AWS CodeBuild
  3. AWS CodeDeploy
  4. AWS CodePipeline

AWS CodeCommit

  • Git 기반의 레포지토리를 클라우드 기반으로 제공하는 서비스. 애플리케이션을 개발하면서 관리할 소스코드를 안전하게 저장하고, 제어할 수 있는 기능을 제공
  • AWS의 보안 기능을 사용하여 코드 및 자산을 보호

AWS CodeBuild

  • 애플리케이션 개발에 필요한 소스코드를 컴파일하고 테스트 후 배포 전까지의 단계를 제공하는 완전관리형 서비스.
  • 서버 또는 빌드 인프라 관리 없이 코드 빌드 및 테스트를 수행
  • 컨테이너 기반의 빌드를 지원하므로 사용자 정의 빌드 환경을 생성 가능

AWS CodeDeploy

  • CI 및 CD 파이프라인을 자동화하는 완전 관리형 서비스
  • 여러 AWS 도구와 통합되어 워크플로우를 자동화가능
  • CodePipeline은 코드 변경을 감지하고 이를 빌드, 테스트, 배포하는 전체 프로세스를 자동화

0개의 댓글

관련 채용 정보