코드 빌드 및 테스트

AWS CodeBuild는 작업을 완료하는 데 필요한 운영 체제, 프로그래밍 언어 런타임 및 빌드 도구(예: Apache Maven, Gradle, npm)가 포함된 미리 구성된 빌드 환경에서 빌드를 실행합니다. 사용자는 소스 코드의 위치를 지정하고, 사용할 빌드 환경, 빌드 동안 실행할 빌드 명령 등 빌드용 설정을 선택하기만 하면 됩니다. AWS CodeBuild는 코드를 실행하고 아티팩트를 Amazon S3 버킷에 저장합니다. 또는 사용자가 빌드 명령을 사용해 이를 아티팩트 리포지토리에 업로드할 수도 있습니다. AWS CodePipeline, AWS Management Console, AWS CLI 또는 SDK를 사용하여 빌드 프로젝트를 생성, 관리 및 시작할 수 있습니다.

미리 구성된 빌드 환경

AWS CodeBuild는 Java, Python, Node.js, Ruby, Go, Android, Linux용 .NET Core for 및 Docker를 위한 빌드 환경을 제공합니다.

미리 구성된 빌드 환경의 전체 목록은 여기를 참조하십시오. 

빌드 환경 사용자 지정

Microsoft .NET Framework과 같이 AWS CodeBuild에서 사용하도록 자체 빌드 환경을 가져올 수 있습니다. 빌드용 런타임과 도구를 Docker 이미지로 패키징하고 이를 퍼블릭 Docker Hub 리포지토리 또는 Amazon EC2 Container Registry(ECR)로 업로드할 수 있습니다. 새로운 빌드 프로젝트를 생성할 때 Docker 이미지의 위치를 지정할 수 있으며 CodeBuild는 이 이미지를 가져와서 빌드 프로젝트 구성으로 사용합니다. 

구성 가능한 설정

빌드 명령 지정

빌드 도구 패키지 설치, 단위 테스트 수행, 코드 패키징 등 AWS CodeBuild가 수행할 특정 명령을 정의할 수 있습니다. 빌드 사양은 YAML 파일로 빌드의 각 단계에서 실행할 명령과 기타 설정을 선택할 수 있습니다. CodeBuild에서는 Apache Maven, Gradle 또는 npm을 사용한 빌드와 같은 일반적인 시나리오를 위한 샘플 빌드 사양 파일을 통해 신속하게 시작할 수 있습니다.

빌드 사양 샘플 파일은 여기를 참조하십시오.

컴퓨팅 유형 선택

개발 요건에 가장 적합한 컴퓨팅 유형을 선택할 수 있습니다. CPU와 메모리 용량에 따라 다른 3가지 수준의 컴퓨팅 파워 중에서 선택할 수 있습니다. 빌드를 좀 더 빠르게 완료하려면 더 높은 CPU 및 메모리 컴퓨팅을 선택하고 아니면 빌드를 완료하는 데 필요한 최소한의 CPU와 메모리 수준을 선택할 수 있습니다.  CodeBuild에서는 Linux와 Windows 운영 체제를 지원합니다.

소스 통합 선택

AWS CodeBuild를 사용해 몇 가지 방법으로 빌드를 시작할 수 있습니다. 예를 들어 AWS CodeCommit, GitHub 또는 Amazon S3에 연결할 후에 CodeBuild에서 빌드를 시작할 수 있습니다. 또한, CodeBuild와 소스 리포지토리를 AWS CodePipeline과 연결하여 변경 사항을 커밋할 때마다 빌드를 자동으로 시작하도록 할 수 있습니다.

지속적 통합 및 전달 워크플로

AWS CodeBuild의 온디맨드 컴퓨팅 및 사용량에 따라 지불하는 모델을 사용하면 코드를 좀 더 자주 빌드하고 통합할 수 있으므로, 개발 프로세스 초기 단계 즉 쉽게 수정할 수 있을 때 버그를 발견하고 수정하는 데 도움이 됩니다. 소스 통합, 빌드 명령 또는 Jenkins 통합을 사용하여 CodeBuild를 기존 CI/CD(지속적 통합지속적 전달) 워크플로와 통합할 수 있습니다. 또한, CodeBuild는 CI/CD를 적용하는 데 도움이 되는 AWS 코드 서비스 패밀리에 속합니다. CodeBuild를 AWS CodePipeline에 통합하면 변경 사항을 소스 리포지토리에 커밋할 때마다 CodeBuild의 코드가 자동으로 빌드 및 테스트됩니다. 이 CI 워크플로를 생성하기 위해서는 AWS CodePipeline 마법사를 사용해 소스 리포지토리에 연결한 다음 CodeBuild를 빌드 공급자로 선택하면 됩니다.

CodeBuild가 빌드를 완료한 후 시작되는 타사 로드 또는 사용자 인터페이스 테스트 도구(예: BlazeMeter, Ghost Inspector)를 통합함으로써 CodePipeline의 지속적 통합 워크플로를 지속적 전달로 손쉽게 확장할 수 있습니다. 그런 다음 AWS CodeDeployAWS Elastic Beanstalk와 같이 AWS CodePipeline과 통합된 서비스를 사용하여 인스턴스 또는 온프레미스 서버로 배포할 수 있습니다.

보안 및 권한

빌드 아티팩트는 고객별 키를 사용해 암호화되며 이 키는 AWS Key Management Service(KMS)에서 관리합니다. AWS CodeBuild는 AWS Identity and Access Management와 통합되므로 빌드에 액세스하는 사용자와 AWS 리소스에 대해 세분화된 제어를 설정할 수 있습니다.

모니터링

AWS CodeBuild Console, AWS CLI, SDK, 및 API 또는 Amazon CloudWatch를 사용해 빌드에 관한 상세한 정보를 볼 수 있습니다. AWS CodeBuild는 빌드의 시작 시간, 종료 시간, 상태 및 커밋 ID와 같은 정보를 표시합니다. 또한 CodeBuild는 CloudWatch에 지표 및 로그를 스트리밍합니다. CloudWatch를 사용하여 사용자 지정 대시보드를 생성하고, CloudWatch 경보를 설정하며, 빌드 문제를 해결하거나, 빌드 로그를 검사할 수 있습니다.

알림 수신

빌드 프로젝트에 영향을 주는 이벤트에 대한 알림을 생성할 수 있습니다. 알림은 Amazon SNS 알림 형식으로 수신됩니다. 각 알림에는 상태 메시지와 함께, 해당 알림이 생성되도록 한 이벤트가 발생한 리소스의 링크가 포함됩니다.

AWS CodeBuild 요금에 대해 자세히 알아보기

요금 페이지로 이동하기
구축할 준비가 되셨습니까?
AWS CodeBuild 시작하기
추가 질문이 있으십니까?
문의처