3
votes

I trying to build Docker image using AWS CodeBuild

I follow AWS codebuild sample below https://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html

below is what i did.

I write buildspec.yml like this.(exactly same as what I saw as previous link) buildspec.yml

and I start build project using aws CodeBuild, but I got this Codebuild Log error message :

Codebuild Log

YAML_FILE_ERROR Message: Runtime version selection is not supported by this build image. <== this message means what? Is any other docker runtime version except 18? what should I do?

please help...

3
Which version of YAML are you using, and what runtime version is specified therein? - C. Peck
@C.Peck I edited this post. insert screenshot of buildspec.yml , version yaml file : 0.2, runtime version : 18 - DW J

3 Answers

1
votes

For aws/codebuild/standard:2.0 images you must specify a runtime-versions in your buildspec. Sample here: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-runtime-versions.html

Also note that since your build needs docker access inside the build container, you will need to enable the privileged mode for your CodeBuild project.

4
votes

I was getting the following error after fixing.

2019/10/06 00:21:59 Phase context status code: YAML_FILE_ERROR Message: 
Runtime version selection is not supported in version 0.1, see documentation

Solution:

After putting a lot of effort in this issue I realized it was the version on the top which needs correction. I was changing the ubuntu image version but The version at the top of the buildspec.yml needs to be changed.

  • below version needs to be changed in buildspec YAML file
     version: 0.2
      phases:
        install:
         runtime-versions:
         docker: 18 
0
votes

While trying with Gradle for Spring Boot project,

buildspec.yml

version: 0.2

phases:
  install:
    runtime-versions:
      java: corretto11
  build:
    commands:
      - bash ./gradlew clean build
artifacts:
  files:
    - build/libs/codecommitdemo-0.0.1-SNAPSHOT.jar
    - appspec.yml
    - scripts/*
  discard-paths: yes