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
.
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.yml
at 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).
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With