YAML_FILE_ERROR: YAML file does not exist

16,327

Solution 1

AWS CodeBuild expects the buildspec.yml file to be at the top level. A common mistake people make is to zip the code folder, which does contain buildspec.ymlat the top level, but when this zip file is extracted, it creates the code folder and puts the buildspec.yml inside that (the way it was locally), meaning buildspec.yml is now NOT at the top level.

The solution is: instead of zipping the code folder, go inside the code folder, select all the files, and then do a zip.

This is what Amazon says here:

Important

Do not include the (root directory name) directory, only the directories and files in the (root directory name) directory.

It's a quirky little thing that trips many people (including me).

Solution 2

Now Amazon has given an option to change the location of the buildspec.yml file or even change the yml file name.

In Developer Tool -> Build -> "Build Project" -> "Your project Name" -> "Build details" -> Buildspec -> "Buildspec name - optional"

This is the instruction by AWS for that setting:

If your buildspec file uses a different name or location, enter its path from the source root here (for example, buildspec-two.yml or configuration/buildspec.yml).

Share:
16,327
Abhishek
Author by

Abhishek

Technologies Python, Angular, JavaScript, TypeScript, NodeJS, Express.js, MongoDB and Docker.

Updated on June 10, 2022

Comments

  • Abhishek
    Abhishek almost 2 years

    I'm trying to implement a pipeline on AWS, but I get an error:

    YAML_FILE_ERROR: YAML file does not exist
    

    I don't know why. I'm using github repo for mean stack project, entry file is docker-compose. Yml.

  • Sorter
    Sorter over 2 years
    Or may be the buildspec.yml is on another branch ? :)