LoginSignup
11
10

More than 3 years have passed since last update.

CodeBuildをローカル環境で実行する(2019年6月版)

Last updated at Posted at 2019-06-24

現在作成中の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の修正

以下のランタイムの記載を追記する(下記はPythonの場合)

phases:
  install:
    runtime-versions:
        python: 3.7

ビルド実行

ヘルパースクリプトでビルドを実行

$ ./codebuild_build.sh -i aws/codebuild/standard:2.0 -a artifact

CodeBuildの設定変更

AWS管理コンソールからCodeBuildの環境を変更する。
CodeBuild -> ビルドプロジェクト -> [プロジェクト名] -> 環境 を編集する

以下のように、オペレーティングシステム、ランタイム、イメージを設定する
スクリーンショット 2019-06-24 23.58.40.png

また、「AWS CodeBuild にこのサービスロールの編集を許可し、このビルドプロジェクトでの使用を可能にする」 のチェックを外すこと

参考

11
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10