AWS CI/CD

danbi lee·2024년 10월 27일

CI/CD 개념

1. Continuous Integration (CI) - 지속적 통합

개발자가 코드를 변경할 때마다 자주, 자동으로 통합하여 빌드와 테스트를 수행하는 프로세스를 말한다.

목적

코드가 변경될 때마다 발생하는 문제를 빨리 발견하고 수정할 수 있도록 돕는 것

특징

  • 자동화된 빌드: 코드가 변경되면 자동으로 빌드(컴파일 및 테스트)가 진행된다.
  • 자동화된 테스트: 코드의 변경 사항이 의도대로 작동하는지 확인하기 위해 단위 테스트(Unit Test), 통합 테스트(Integration Test) 등을 자동으로 실행한다.
  • 빠른 피드백: 문제가 발생하면 빠르게 알림을 받아, 개발자가 즉시 수정할 수 있다.

=> 코드의 변경 사항을 빠르게 통합하고, 자동화된 테스트를 통해 품질을 유지하는 데 집중

2. Continuous Deployment (CD) - 지속적 배포

자동화된 테스트를 통과한 코드를 승인 없이 바로 프로덕션 환경에 배포하는 프로세스를 말한다.

목적

코드가 변경될 때마다 자동으로 사용자에게 최신 기능이 제공되도록 하는 것

특징

  • 완전 자동화: 프로덕션 환경에 배포하는 과정까지 자동으로 진행된다. 사람이 개입하지 않고 새로운 기능이 배포된다.
  • 빠른 사용자 피드백: 새로운 코드가 즉시 배포되기 때문에 사용자의 피드백을 빠르게 받을 수 있다.

=> 모든 배포 과정을 자동화하여, 사용자가 새로운 코드를 즉시 사용 가능

사전 준비 사항

  1. GitHub에 프로젝트 준비
  2. AWS 계정 준비 (IAM 사용자가 CodePipeline, CodeBuild, S3, EC2, IAM 권한을 가지고 있어야 함)
  3. S3 버킷 (CodePipeline과 CodeBuild에서 사용할 아티팩트 저장소) 준비
profile
계속해서 보완중

0개의 댓글