Wisdom’s Cloud
[AWS] 33. AWS CodeBuild 본문
구분 | 내용 |
서비스명 | AWS CodeBuild |
설명 | 소스 코드의 컴파일 단계부터 테스트 후 배포 단계까지를 지속적으로 지원하는 완전관리형 지속적 통합 서비스 |
주요 특징 | - 소스 컴파일, 테스트, S/W 패키지를 생성하는 완전 관리형 빌드 서비스 - 지속적인 스케일 조정 및 동시에 여러 빌드 처리 지원 - Docker 이미지를 통한 사용자 요구에 맞는 사용자 지정 빌드 환경 제공 - 사용하는 컴퓨팅 리소스에 대한 분 단위 과금 - CodePipeline, Jenkins와 통합하여 서비스 활용 가능 |
프리티어(Free Tier) | - 매월 100분의 빌드 가능한 build.general1.small. 사용 가능 - 최초 12개월 이후에도 Free Tier 사용 가능 |
CodeBuild의 기대 효과
- 완전 관리형 빌드 서비스
- 자동으로 확장
- CI/CD 지원
- 손쉬운 확장
- 사용한 만큼 지불
- 높은 보안성
CodeBuild의 동작 방식
- Source Control: CodeCommit, Github, S3 등의 소스 관리 툴에서 데이터를 불러온다.
- Build Project: Source Control로부터 소스를 가져와 Build Project를 수행한다. Build Project는 CodeBuild에서 빌드 실행 방식을 정의하며, 소스 코드 위치, 빌드 환경, 실행할 빌드 명령 및 빌드 출력을 저장할 위치 등의 정보를 포함한다.
- Build Environment: Build Project에 정의된대로 또는 소스 코드에 직접 포함된 buildspec을 실행하여 Build Environment를 생성한다. Build Environment는 OS, 프로그래밍 언어 실행 시간 및 CodeBuild에서 빌드를 실행하는 데 사용되는 도구와 인증서, 권한 등 다양한 환경 정보를 선택한다.
- S3 Bucket: Build Environment에서 Output을 Amazon S3 버킷에 업로드한다.
- Notifications: Amazon SNS 주제에 빌드 알림을 전송하거나, 빌드가 실행되는 동안 빌드 정보를 Amazon CloudWatch Logs에 전송한다.
- Destroy Build Environment: 빌드 작업이 완료된 후, Build Environment을 삭제하고 Clean Up 작업을 수행한다.
CodeBuild의 Build Spec
- 빌드 사양(Build Spec)은 CodeBuild가 빌드를 실행하는 데 사용하는 YAML 형식의 빌드 명령 및 관련 설정 모음이다.
- 소스 코드의 일부로 빌드 사양을 포함할 수 있으며, 빌드 프로젝트를 생성할 때 빌드 사양을 정의할 수 있다.
- buildspec.yml 파일의 이름에 관계없이 빌드 프로젝트에 대해 하나의 빌드 사양만 지정할 수 있다.
실습: Cloud9, CodeCommit, CodeBuild를 활용한 S3 정적 웹 사이트 구현
* 본 실습은 Cloud9, CodeCommit, CodeBuild, Vue.js를 활용하여 샘플 웹 페이지를 작성한다.
CloudBuild를 활용하여 빌드된 웹 페이지를 S3에 정적 웹 호스팅 서비스를 진행하고,
소스의 변경된 내용을 S3에 빌드하기 위해 CodeBuild를 활용한다. *
Step 1 Vue.js 설치 및 프로젝트 생성
Step 2 S3 정적 호스팅 구성
Step 3 CodeBuild 설정
'AWS > Beginner' 카테고리의 다른 글
[AWS] 35. AWS CodePipeline (0) | 2022.04.02 |
---|---|
[AWS] 34. AWS CodeDeploy (0) | 2022.04.01 |
[AWS] 32. AWS CodeCommit (0) | 2022.03.29 |
[AWS] 31. AWS Cloud9 (0) | 2022.03.27 |
[AWS] 30. 클라우드 용어 정리(12) (0) | 2022.03.27 |