CodeBuild를 로컬 환경에서 실행(2019년 6월 버전)

현재 생성 중인 Alexa 스킬은 AWS CodeBuild를 이용하고 있습니다. 다만 빌드를 시도하기 위해 매번 GitHub의 리포지토리에 Push 해야 하기 때문에 로컬에서 시도할 수 없을까 생각해 조사한 결과를 공유합니다.

실행 환경



OS : macOS Mojave (v10.14.5)
Docker : Engine: 18.09.2

빌드용 Docker 이미지 만들기



GitHub에서 공개된 Dockerfile을 가져오고 거기에서 이미지 만들기
$ git clone https://github.com/aws/aws-codebuild-docker-images.git
$ cd aws-codebuild-docker-images
$ cd ubuntu/standard/2.0
$ docker build -t aws/codebuild/standard:2.0 .

빌드 실행을 위한 이미지 다운로드



빌드 실행을 위한 에이전트 이미지를 DockerHub에서 가져오기
$ docker pull amazon/aws-codebuild-local:latest --disable-content-trust=false

빌드용 도우미 스크립트 획득



aws-codebuild-docker-images 의 GitHub 리포지토리에 빌드용 도움말 스크립트가 준비되어 있기 때문에 거기에서 가져옵니다.
$ //GitHubからcloneした続きから
$ cd aws-codebuild-docker-images
$ cd local_builds
$ cp codebuild_build.sh [対象のプロジェクトフォルダ]

buildspec.yml 수정



다음 런타임에 대한 설명을 추가합니다 (아래는 파이썬의 경우)
phases:
  install:
    runtime-versions:
        python: 3.7

빌드 실행



도우미 스크립트로 빌드 실행
$ ./codebuild_build.sh -i aws/codebuild/standard:2.0 -a artifact

CodeBuild 설정 변경



AWS 관리 콘솔에서 CodeBuild 환경을 변경합니다.
CodeBuild -> 빌드 프로젝트 -> [프로젝트 이름] -> 환경 편집

다음과 같이 운영 체제, 런타임, 이미지 설정


또한 "AWS CodeBuild가 이 서비스 역할을 편집하도록 허용하고 이 빌드 프로젝트에서 사용할 수 있도록 허용"을 선택 해제합니다.

참고


  • aws-codebuild-docker-images
  • CodeBuild Local에서 CodeBuild 처리 로컬 실행
  • 이제 CodeBuild를 로컬 환경에서 실행(테스트, 디버깅)할 수 있습니다.
  • CodeBuild Ubuntu 14.04 EOL 지원
  • 좋은 웹페이지 즐겨찾기