AWS CodeBuild 기능

AWS CodeBuild를 사용해야 하는 이유는 무엇인가요?

AWS CodeBuild는 완전관리형의 지속적 통합 서비스입니다. 소스 코드의 위치를 지정하고 빌드 설정을 선택하기만 하면, CodeBuild가 코드를 컴파일하고, 테스트하며, 패키징하기 위한 빌드 스크립트를 실행합니다. 프로비저닝하고 확장할 서버나 설치, 구성 및 운영할 소프트웨어가 없습니다.

코드 빌드 및 테스트

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 Elastic Container Registry(Amazon ECR)로 업로드할 수 있습니다. 새로운 빌드 프로젝트를 생성할 때 Docker 이미지의 위치를 지정할 수 있으며 CodeBuild는 이 이미지를 가져와서 빌드 프로젝트 구성으로 사용합니다. 

구성 가능한 설정

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

빌드 사양 샘플 파일을 참조하세요.

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

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

일반

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

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

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

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

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