Reputation: 85
I have set up a CI/CD pipeline using Travis CI so that when i push the code to it automatically gets deployed to AWS beanstalk. I am using docker as a platform in AWS. When i push the code it passes through travis but aws shows the error "Command failed on instance. Return code: 1 Output: Dockerfile and Dockerrun.aws.json are both missing, abort deployment." I don't need dockerrun.aws.json as i am using a local docker image But not able to figure out why is this error being shown as there is a docker file.
Travis file
sudo: required
language: node_js
node_js:
- "10.16.0"
sudo: true
addons:
chrome: stable
branches:
only:
- master
before_script:
- npm install -g @angular/cli
script:
- ng test --watch=false --browsers=ChromeHeadless
deploy:
provider: elasticbeanstalk
access_key_id:
secure: "$accesskey"
secret_access_key:
secure: "$AWS_SECRET_KEY"
region: "us-east-2"
app: "portfolio"
env: "portfolio-env"
bucket_name: "elasticbeanstalk-us-east-2-646900675324"
bucket_path: "portfolio"
Dockerfile
FROM node:12.7.0-alpine as builder
WORKDIR /src/app
COPY package.json .
RUN npm install
COPY . .
RUN npm run build
# To copy the files from build folder to directory where nginx could serve up the files
FROM nginx
EXPOSE 80
COPY --from=builder /src/app/dist/portfio /usr/share/nginx/html
Any possible solution for this one ?
Upvotes: 1
Views: 1876
Reputation: 51
I had the same issue. Turns out my dockerfile was not capitalized, and AWS is case sensitive. When I changed the file name to "Dockerfile", everything worked as expected.
Upvotes: 2