AWS CodeBuild에 대해서 파악하기

슬로그·2024년 3월 5일

AWS

목록 보기
3/4
post-thumbnail

Cloud9에서 CodeCommit 리포지토리 동기화 까지 알아봤다.
Cloud9, CodeCommit, CodeBuild를 활용한 S3 정적 웹사이트 구현 전CodeBuild에 대해 자세히 파악해 이해하기 위해 CodeBuild란 무엇인지 적어보려 한다.


💻 AWS CodeBuild?

  • AWS CodeBuild 는 소프트웨어 개발에 필요한 소스코드를 컴파일하는 단계에서 부터 테스트 후 소프트웨어 배포까지의 단계를 지원하는 완전 관리형 지속적 통합(Continuous Integration) 서비스 이다.
  • AWS CodeBuild는 빌드를 수행할 볼륨에 따라 인프라가 자동으로 확장 및 축소를 지원해 여러 빌드를 동시에 처리할 수 있기 때문에 빌드를 위해 대기하지 않고 빠르고 효율적으로 빌드 작업을 수행 할 수 있다.
  • AWS CodeBuild는 AWS KMS(Key Management Service)를 이용해 빌드 아티팩트가 암호화되며 AWS IAM(Identity and Access Management)을 통해 권한을 관리 할 수 있다.

✍️ AWS CodeBuild 의 주요기능과 기대효과

1. 코드에 대한 빌드와 테스트
AWS CodeBuild 는 빌드 작업을 수행하기 위해 사전에 구성된 빌드환경에서 작업을 수행한다. 이를 위해 소스코드의 위치와 빌드를 위한 설정을 선택해야하고 AWS CodeBuild는 코드를 빌드할 것이며 Amazon S3 버킷에 저장하거나 아티팩트 저장소에 업로드 한다. 런타임와 도구를 패키징하여 자신만의 빌드 환경을 구성할 수 있다.

2. 구성 설정
AWS CodeBuild는 단위테스트, 코드패키지 및 Build-To-Package 설치와 같은 명령을 지정할 수 있다. 빌드사양파일(build spec.yml) YAML로 구성하여 각 단계에서 수행할 명령어를 정의 할 수 있으며 수행 단계별로 실행하도록 구성할 수 있다.
개발 요구에 가장 적합한 컴퓨팅 유형을 선택할 수 있고 빌드에 필요한 사양을 지정할 수 있다. 또한 CodeCommit,Amazon S3,GitHub와의 연결을 통해 빌드를 시작할수 있으며 AWS CodePipeline과 연결하여 커밋이 발생할 때마다 자동으로 빌드를 수행 할 수 있다.

3. 지속적인 통합과 지속적인 배포 워크플로우
AWS CodeBuild는 AWS를 활용하여 지속적인 통합과 지속적인 배포를 구현 할 수 있는 기반을 제공한다.
이를 통해 개발자는 더욱 자주 소스를 배포할 수 있으며 소스코드의 컴파일 단계부터 테스트 후 배포 단계까지지속적으로 지원하는 완전관리형 지속적 통합 서비스 이다.

4. 빌드 프로세스에 대한 모니터링
AWS CodeBuild 는 AWS Management Console, SDK, AWS CLI 및 API 에서 빌드에 대한 상세 내역을 확인 할 수 있으며 Build ARN, Build Project, 리포지토리, 시작 및 종료시간, 빌드 상태등의 빌드 정보를 손쉽게 확인 할 수 있다.

AWS CodeBuild의 빌드사양(Build Spec)이란 ?

Build Spec

  • Build Spec은 AWS CodeBuild가 빌드를 실행하는데 사용하는 YAML 형식의 빌드 명령 및 관련 설정의 모음이다.
  • 소스코드의 일부로 빌드사양을 포함할 수 있으며 빌드 프로젝트를 생성할때 빌드사양을 정의할 수도 있다.
    빌드 프로젝트에 대해 하나의 빌드 사양만 지정할 수 있다.

빌드사양은 YAML 형식의 파일로 다음과 같이 구성된다.

위와 같이 설정해줄 수 있는데 각각에 대해 조금 설명해보자면

  1. 빌드 단계에서 사용할 변수 정의
  • version:
  • environment_variables :
  1. 빌드 단계에서 사용할수 있는 작업
  • Install : install명령을 사용하여 환경준비나 패키치 설치 수행 ex) 테스트 프레임 워크 설치
  • pre_build : 구문확인 및 기존 정보 확인 , 로그인 단계 또는 종속성 설치와 같은 빌드 전에 실행할 명령 ex)Amazon ECR로그인 후 Ruby 또는 npm 실행
  • build : 컴파일 또는 실행 테스트와 같은 빌드 실행
  • post_build : 추가적인 앱 테스트 및 저장소로 컨테이너 이미지 저장 , 빌드의 성공 또는 실패에 따라 명령 실행
  • artifacts : S3에 아티팩트 생성 및 저장

등이 있다.

profile
빨리가는 유일한 방법은 제대로 가는것

0개의 댓글