[小ネタ][AWS]CodeBuildのビルド環境にAmazon Linuxを指定する

eyecatch-codebuild

コンニチハ、千葉です。

CodeBuildのプロジェクト作成時、マネージメントコンソールからビルド環境を選択すると「Ubuntu」しか選択できません。

20170518-codebuild-amazonlinux-1

Dockerコンテナ版のAmazon Linuxも提供されているので、CodeBuildで指定できなか?というところで調べてみました。

CodeBuildでAmazon Linuxを利用できそう

Docker Images Provided by AWS CodeBuildを参照すると、Ubuntuの他にAmazon Linuxとがあり、RubyやらPythonやらちゃんとあります。

これを指定できれば、ビルド環境に指定できそうです。

どうやって指定するか?

結論から言うと、マネージメントコンソールからプロジェクト作成し、環境を指定する箇所でカスタムを選択し、Docker Images Provided by AWS CodeBuildの「Image identifier」を直接指定することでいけました。

20170518-codebuild-amazonlinux-2

環境確認

Amazon Linuxになっているかな?というところで、以下のbuildspec.ymlを実行してログから環境を確認してみました。

version: 0.1

phases:
  install:
    commands:
      - echo Nothing to do in the install phase...
  pre_build:
    commands:
      - echo Nothing to do in the pre_build phase...
      - cat /etc/system-release
      - python --version
  build:
    commands:
      - echo Build started on `date`
  post_build:
    commands:
      - echo Build completed on `date`

ログを確認すると

[Container] 2017/05/18 10:06:11 Running command cat /etc/system-release
Amazon Linux AMI release 2017.03
[Container] 2017/05/18 10:06:11 Running command python --version
Python 2.6.9

指定したとおりのコンテナで起動できてます!

さいごに

CodeBuildでAmazon Linuxを利用できることができました。EC2での利用が多いAmazon Linuxが利用できて色々捗りそうです。

参考

http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/build-env-ref.html#build-env-ref-env-vars

AWS Cloud Roadshow 2017 福岡