Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Deploying to Elastic Beanstalk via CircleCi 2.0

Deploying to Elastic Beanstalk via CircleCi 2.0

I got to here after spending hours trying to deploy to an Elastic Beanstalk instance via CircleCi 2.0 so I thought I'd write up what worked for me to hopefully help others. Shout out to RobertoSchneiders who's steps for getting it to work with CircleCi 1.0 were my starting point.

For the record, I'm not the most server-savvy of developers so there may be a better way of doing this.

Setup a user on AWS IAM to use for deployments

  • Add user here
  • Set a username and select Programmatic access as the Access type
  • Click 'Create group' on the user permissions page
  • Set a group name and search for the AWSElasticBeanstalkFullAccess policy type and select it
  • Create the group so it's assigned to your new user
  • Review and create the user

Setup an Elastic Beanstalk application

  • 'Create New Application'
  • 'Create New Environment'
  • 'Create web server'
  • On the Environment Information page where it asks you to set the 'Environment name', set it to something with the Git branch name in e.g. BRANCHNAME-my-application
    • I do this as I have a staging branch and the master branch so in our EB config, we'll be replacing BRANCHNAME with the $CIRCLE_BRANCH environment variable provided by CircleCi so when deploying the staging branch for example, it will know to deploy to the staging-my-application environment on Elastic Beanstalk
  • Follow the rest of the setup as you require

Add deployment user environment variables to CircleCi

  • Project Settings > Environment Variables
    • AWS_ACCESS_KEY_ID
    • AWS_SECRET_ACCESS_KEY

Add .elasticbeanstalk/config.yml config to application code

  • Update the values in the below snippet to match what you setup.
branch-defaults:
  master:
    environment: $CIRCLE_BRANCH-my-application
global:
  application_name: My Application
  default_ec2_keyname: XXXXXX
  default_platform: 64bit Amazon Linux 2017.09 v2.6.2 running Ruby 2.4 (Passenger Standalone)
  default_region: eu-west-1
  sc: git

Note: Ensure the application_name is exactly what you called your application in Elastic Beanstalk when you did the 'Create New Application' step.

Also Note: Do not set a profile: value here, the profile will be set based on the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables you setup.

Update your .circleci/config.yml

  • The following is what I think is the bare minimum I needed to get only the master or staging branches on your Git repo to deploy.
  • Update $CIRCLE_BRANCH-my-application to the environment name you set in Elastic Beanstalk.
version: 2
jobs:
  deploy:
    working_directory: ~/app
    docker:
      - image: circleci/ruby:2.4.3
    steps:
      - checkout

      - run:
          name: Installing deployment dependencies
          working_directory: /
          command: |
            sudo apt-get -y -qq update
            sudo apt-get install python-pip python-dev build-essential
            sudo pip install --upgrade setuptools
            sudo pip install awsebcli --upgrade

      - run:
          name: Deploying
          command: eb deploy $CIRCLE_BRANCH-my-application

workflows:
  version: 2
  build:
    jobs:
      - deploy:
          filters:
            branches:
              only:
                - staging
                - master

Cross fingers

  • Commit and let CircleCi do it's thing. If all goes well you should see it updating on the Elastic Beanstalk dashboard as the 'Deploying' step is running in CircleCi.
@esasse

This comment has been minimized.

Copy link

commented Mar 6, 2018

Thanks a lot! It was really helpful!

@aconfee

This comment has been minimized.

Copy link

commented Apr 28, 2018

Thanks! This was incredibly helpful. I noticed that circleci seems to not have an ~/.aws folder (with a config or credentials). Do you know how this is authenticating?

I accidentally noticed this when I had a profile in my eb config and was working under the assumption that circleci adds the credentials under a 'default' profile -- which it doesn't... maybe... the docs seem to conflict right now.

@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Apr 30, 2018

Hey @aconfee, glad you found this helpful! In response to your question, the EB docs state the following:

Configuration Settings and Precedence
The EB CLI uses a provider chain to look for AWS credentials in a number of different places, including system or user environment variables and local AWS configuration files.

The EB CLI looks for credentials and configuration settings in the following order:

  1. Command line options – Specify a named profile by using --profile to override default settings.

  2. Environment variables – AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.

  3. The AWS credentials file – Located at ~/.aws/credentials on Linux and OS X systems, or at C:\Users\USERNAME.aws\credentials on Windows systems. This file can contain multiple named profiles in addition to a default profile.

  4. The AWS CLI configuration file – Located at ~/.aws/config on Linux and OS X systems or C:\Users\USERNAME.aws\config on Windows systems. This file can contain a default profile, named profiles, and AWS CLI–specific configuration parameters for each.

  5. Legacy EB CLI configuration file – Located at ~/.elasticbeanstalk/config on Linux and OS X systems or C:\Users\USERNAME.elasticbeanstalk\config on Windows systems.

  6. Instance profile credentials – These credentials can be used on Amazon EC2 instances with an assigned instance role, and are delivered through the Amazon EC2 metadata service. The instance profile must have permission to use Elastic Beanstalk.

If the credentials file contains a named profile with the name "eb-cli", the EB CLI will prefer that profile over the default profile. If no profiles are found, or a profile is found but does not have permission to use Elastic Beanstalk, the EB CLI prompts you to enter keys.

So because we don't define the profile in the .elasticbeanstalk/config.yml file, but do create the CirclCi environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY - EB uses those to connect. If we had not added a profile or created the environment variables then the next place it would look would be in the ~/.aws folder.

Hope that helps!

@RobertoSchneiders

This comment has been minimized.

Copy link

commented May 3, 2018

Thank you very much @ryansimms, ended up helping me too. I referenced this gist on the old (1.0) one. 👏

@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented May 7, 2018

Cheers @RobertoSchneiders, glad your gist was around to give me a starting point! And happy to know mine helped you too 👍

@mparker11

This comment has been minimized.

Copy link

commented Jun 26, 2018

Thank you for this great start. Heads up to anyone following, I needed to add this command before the deploy script. It's a command to use the credentials.

- run:
    name: Setup AWS credentials
    command: |
      mkdir ~/.aws && printf "[profile eb-cli]\naws_access_key_id = ${AWS_ACCESS_KEY_ID}\naws_secret_access_key = ${AWS_SECRET_ACCESS_KEY}" > ~/.aws/config
@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Jul 5, 2018

@mparker11 - You're welcome! Regarding your addition; I don't think you should need to do that, the eb deploy command should grab the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY values from the environment variables you setup on CircleCi - just make sure you haven't specified a profile: value in the .elasticbeanstalk/config.yml file (as this would be used before the CircleCi environment variables if set).

@schystz

This comment has been minimized.

Copy link

commented Jul 26, 2018

Thanks for this @ryansimms! However I am encountering an issue on eb deploy line -

ERROR: This directory has not been set up with the EB CLI
You must first run "eb init".

I'm pretty sure I have a working .elasticbeanstalk/config.yml file since I was already doing it for CircleCI 1.0 but weird that I am getting such error now. Do I really need to do eb init first?

@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Jul 27, 2018

Hey @schystz , I believe eb init just creates the .elasticbeanstalk/config.yml file for you after a few prompts. In my instructions, we create this file manually without the profile: item that can get added during eb init. From the error message you are getting, it seems that the eb deploy command cannot find that config file - have you definitely put it in the root directory of your application?

If you've already done that then feel free to share the config you have setup and I can take a look.

@DeBraid

This comment has been minimized.

Copy link

commented Jul 31, 2018

Follow the rest of the setup as you require

How do you link to you source code? Do you have zip file on an S3 instance? Manually uploading in the GUI?

When I try and reference an S3 bucket with my source code, I get:

Invalid Parameter Combination
Unable to download from S3 location (Bucket: bucket-name Key: bucketKey). 
Reason: Not Found 
@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Aug 1, 2018

Hey @DeBraid,

Follow the rest of the setup as you require

...this is in reference to the rest of the configuration on the setting up of your Elastic Beanstalk environment, there are a lot of options so I only stated the steps required to hook the environment you create to your .circleci/config.yml file.

For me, the source code is store in a repo on GitHub, the repo has a .circleci/config.yml file which has the command eb deploy $CIRCLE_BRANCH-my-application - this tells Elastic Beanstalk which environment to deploy to - if you were deploying the master branch of your repo for example, your Elastic Beanstalk environment should be called master-my-application. Elastic Beanstalk knows which environments you own as you should have setup the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables on CircleCi.

eb deploy does in fact store your application code on S3 (before it deploys to an EC2 instance) in a bucket it creates, it'll be called something like elasticbeanstalk-eu-west-1-XXXXXXX, this is done automatically by Elastic Beanstalk, but if you've followed the steps then there should be no reason for you to have to upload the code via the GUI.

I'm unsure where your error is coming from as there should be no need to reference an S3 bucket if following these steps for deploying code to an EC2 instance via Elastic Beanstalk.

Are you instead trying to deploy to S3 via CircleCi?

@ashok-sc

This comment has been minimized.

Copy link

commented Aug 17, 2018

Hey Ryan, thanks for making this guide, but I'm still having trouble with eb command. I keep getting eb: command not found. I'm trying to find the binary so I can add it to my path but can't find that either. Any ideas? Thanks

@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Aug 22, 2018

Hey @ashok-sc - that error message suggests that awsebcli hasn't been installed on the container the command is running on - have you got the "Installing deployment dependencies" step in your CircleCi config?

@dwatts1772

This comment has been minimized.

Copy link

commented Aug 28, 2018

@ryansimms, Are you committing your .elasticbeanstalk/config.yml? I ended up added a new file based on their documentation .elasticbeanstalk/config.global.yml.

@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Aug 29, 2018

Hey @dwatts1772, yea, I commit the .elasticbeanstalk/config.yml, but any information I deem sensitive, I create environment variables for in CircleCi against the project settings.

@valerypopoff

This comment has been minimized.

Copy link

commented Sep 3, 2018

Elastic Beanstalk is a little bit broken now, so if CircleCi fails to deploy, consider this: aws/aws-cli#3535

@howardkitto

This comment has been minimized.

Copy link

commented Sep 21, 2018

I have my env vars set up (I can see them via - run : echo ${AWS_ACCESS_KEY_ID}

But get this error:

sudo eb deploy myApp-env
ERROR: CredentialsError - Operation Denied. You appear to have no credentials
Exited with code 4

Here is my config:
.circleci/config.yml

version: 2
jobs:
  deploy:
    working_directory: /go/src
    docker:
      - image: circleci/golang
    steps:
      - checkout
      - run: sudo apt-get -y -qq update --assume-yes
      - run: sudo apt-get install python-pip python-dev build-essential --assume-yes
      - run: sudo pip install awsebcli --upgrade
      - run : echo ${AWS_ACCESS_KEY_ID}
      - run : sudo eb deploy myApp-env
workflows:
  version: 2
  build_and_test:
    jobs:
      - deploy

.elasticbeanstalk/config.yml

branch-defaults:
  develop:
    environment: myApp-env
  master:
    environment: myApp-env
global:
  application_name: myApp
  default_platform: Docker 18.03.1-ce
  default_region: eu-west-2
  sc: git

Any ideas what could be wrong? (I'm guessing a dumb typo!)

@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Sep 21, 2018

@howardkitto - have you tried the eb deploy command without sudo ? e.g. - run: eb deploy myApp-env

@howardkitto

This comment has been minimized.

Copy link

commented Sep 21, 2018

Huge thanks @ryansimms that was the problem - obvious now I look at it!

@chemitaxis

This comment has been minimized.

Copy link

commented Oct 11, 2018

So good!! Thanks for sharing!!

@amosuro

This comment has been minimized.

Copy link

commented Oct 15, 2018

Thanks @ryansimms, great starting point for me!

@lifenautjoe

This comment has been minimized.

Copy link

commented Nov 1, 2018

Getting
TypeError - must be str, not NoneType
when running

eb deploy $CIRCLE_BRANCH-xxx

Any idea anyone?

@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Nov 6, 2018

@lifenautjoe - sorry, missed your comment, but checking out your config on openbook, I'm guess you managed to resolve the issue?

@KahTim

This comment has been minimized.

Copy link

commented Nov 24, 2018

Hey @ryansimms, my .elasticbeanstalk/config files doesn't seem to have access to environment variables I've added in CircleCI, how did you get your config file to access $CIRCLE_BRANCH
Mine deploys it as a string during eb deploy, output as below:

Uploading $EC2_APP_NAME/xxx.zip to S3. This may take a while.
Upload Complete.
Application $EC2_APP_NAME has been created.

.elasticbeanstalk/config.yml

branch-defaults:
  master:
    environment: $EB_ENVIRONMENT
global:
  application_name: $EC2_APP_NAME
  default_ec2_keyname: $EC2_KEYNAME
  default_platform: arn:aws:elasticbeanstalk:ap-southeast-1::platform/Puma with Ruby
    2.3 running on 64bit Amazon Linux/2.8.2
  default_region: ap-southeast-1
@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Nov 28, 2018

Hey @KahTim - apologies for the delayed response (no notifications on gists yet)
It sounds like you may not have setup your environment variables on CircleCi - $CIRCLE_BRANCH is given by default by CircleCi, but if you have custom variables then you'll need to add them to your project on CircleCi via the Project settings > Build Settings > Environment Variables page.

Hope that helps

@rofc

This comment has been minimized.

Copy link

commented Jan 3, 2019

hi @ryansimms, I think what @KahTim is trying to say is how did you create the .elasticbeanstalk/config.yml file since variables are being took as string instead of environment variables. There is no detailed step about this. Thanks!

@jakesyl

This comment has been minimized.

Copy link

commented Jan 24, 2019

Thanks! This was helpful.

@4rch18

This comment has been minimized.

Copy link

commented Feb 13, 2019

There's another way to handle AWS keys in CircleCI:

  • Project Settings > Permissions > AWS
    • Access Key ID
    • Secret Access Key

As given on the page [Feb 13 2019]:

Set the AWS keypair to be used for authenticating against AWS services during your builds. Credentials are installed on your containers into the ~/.aws/config and ~/.aws/credentials properties files. These are read by common AWS libraries such as the Java SDK, Python's boto, and the Ruby SDK.

We recommend that you create a unique IAM user for use by CircleCI.

@vitr

This comment has been minimized.

Copy link

commented Feb 27, 2019

thanks for the great gist! I've been using it for about 6 months, unfortunately, it stopped working yesterday. the error is

 Complete output from command python setup.py egg_info:
    error in awsebcli setup command: Invalid environment marker: sys_platform == "win32" and python_version >= "3.6"

and the full log

#!/bin/bash -eo pipefail
sudo apt-get -y -qq update
sudo apt-get install python-pip python-dev build-essential
sudo pip install awsebcli --upgrade
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packagecloud.io trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4E6910DFCB68C9CD

W: Failed to fetch https://packagecloud.io/circleci/trusty/ubuntu/dists/trusty/InRelease  

W: Some index files failed to download. They have been ignored, or old ones used instead.

Reading package lists... Done

Building dependency tree       


Reading state information... Done

build-essential is already the newest version.
python-pip is already the newest version.
The following extra packages will be installed:
  libpython-dev libpython2.7 libpython2.7-dev libpython2.7-minimal
  libpython2.7-stdlib python2.7 python2.7-dev python2.7-minimal
Suggested packages:
  python2.7-doc
The following NEW packages will be installed:
  libpython-dev libpython2.7-dev python-dev python2.7-dev
The following packages will be upgraded:
  libpython2.7 libpython2.7-minimal libpython2.7-stdlib python2.7
  python2.7-minimal
5 upgraded, 4 newly installed, 0 to remove and 245 not upgraded.
Need to get 26.9 MB of archives.
After this operation, 34.2 MB of additional disk space will be used.


0% [Working]0% [Connecting to archive.ubuntu.com (91.189.88.162)]0% [Connecting to archive.ubuntu.com (91.189.88.162)]0% [Waiting for headers]0% [Waiting for headers]Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main python2.7 amd64 2.7.6-8ubuntu0.5 [197 kB]

0% [1 python2.7 2,293 B/197 kB 1%]Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libpython2.7 amd64 2.7.6-8ubuntu0.5 [1,041 kB]

5% [Working]Get:3 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libpython2.7-stdlib amd64 2.7.6-8ubuntu0.5 [1,872 kB]

Get:4 http://archive.ubuntu.com/ubuntu/ trusty-updates/main python2.7-minimal amd64 2.7.6-8ubuntu0.5 [1,186 kB]

Get:5 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libpython2.7-minimal amd64 2.7.6-8ubuntu0.5 [308 kB]

Get:6 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libpython2.7-dev amd64 2.7.6-8ubuntu0.5 [22.0 MB]

17% [6 libpython2.7-dev 33.2 kB/22.0 MB 0%]70% [6 libpython2.7-dev 14.2 MB/22.0 MB 65%]Get:7 http://archive.ubuntu.com/ubuntu/ trusty/main libpython-dev amd64 2.7.5-5ubuntu3 [7,078 B]

Get:8 http://archive.ubuntu.com/ubuntu/ trusty-updates/main python2.7-dev amd64 2.7.6-8ubuntu0.5 [269 kB]

100% [Waiting for headers]Get:9 http://archive.ubuntu.com/ubuntu/ trusty/main python-dev amd64 2.7.5-5ubuntu3 [1,166 B]

Fetched 26.9 MB in 4s (5,920 kB/s)
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
(Reading database ... 71348 files and directories currently installed.)
Preparing to unpack .../python2.7_2.7.6-8ubuntu0.5_amd64.deb ...
Unpacking python2.7 (2.7.6-8ubuntu0.5) over (2.7.6-8ubuntu0.3) ...
Preparing to unpack .../libpython2.7_2.7.6-8ubuntu0.5_amd64.deb ...
Unpacking libpython2.7:amd64 (2.7.6-8ubuntu0.5) over (2.7.6-8ubuntu0.3) ...
Preparing to unpack .../libpython2.7-stdlib_2.7.6-8ubuntu0.5_amd64.deb ...
Unpacking libpython2.7-stdlib:amd64 (2.7.6-8ubuntu0.5) over (2.7.6-8ubuntu0.3) ...
Preparing to unpack .../python2.7-minimal_2.7.6-8ubuntu0.5_amd64.deb ...
Unpacking python2.7-minimal (2.7.6-8ubuntu0.5) over (2.7.6-8ubuntu0.3) ...
Preparing to unpack .../libpython2.7-minimal_2.7.6-8ubuntu0.5_amd64.deb ...
Unpacking libpython2.7-minimal:amd64 (2.7.6-8ubuntu0.5) over (2.7.6-8ubuntu0.3) ...
Selecting previously unselected package libpython2.7-dev:amd64.
Preparing to unpack .../libpython2.7-dev_2.7.6-8ubuntu0.5_amd64.deb ...
Unpacking libpython2.7-dev:amd64 (2.7.6-8ubuntu0.5) ...
Selecting previously unselected package libpython-dev:amd64.
Preparing to unpack .../libpython-dev_2.7.5-5ubuntu3_amd64.deb ...
Unpacking libpython-dev:amd64 (2.7.5-5ubuntu3) ...
Selecting previously unselected package python2.7-dev.
Preparing to unpack .../python2.7-dev_2.7.6-8ubuntu0.5_amd64.deb ...
Unpacking python2.7-dev (2.7.6-8ubuntu0.5) ...
Selecting previously unselected package python-dev.
Preparing to unpack .../python-dev_2.7.5-5ubuntu3_amd64.deb ...
Unpacking python-dev (2.7.5-5ubuntu3) ...
Processing triggers for mime-support (3.54ubuntu1.1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up libpython2.7-minimal:amd64 (2.7.6-8ubuntu0.5) ...
Setting up python2.7-minimal (2.7.6-8ubuntu0.5) ...
Setting up libpython2.7-stdlib:amd64 (2.7.6-8ubuntu0.5) ...
Setting up python2.7 (2.7.6-8ubuntu0.5) ...
Setting up libpython2.7:amd64 (2.7.6-8ubuntu0.5) ...
Setting up libpython2.7-dev:amd64 (2.7.6-8ubuntu0.5) ...
Setting up libpython-dev:amd64 (2.7.5-5ubuntu3) ...
Setting up python2.7-dev (2.7.6-8ubuntu0.5) ...
Setting up python-dev (2.7.5-5ubuntu3) ...
Processing triggers for libc-bin (2.19-0ubuntu6.13) ...
Downloading/unpacking awsebcli
  Downloading awsebcli-3.14.13.tar.gz (241kB): 241kB downloaded
  Running setup.py (path:/tmp/pip_build_root/awsebcli/setup.py) egg_info for package awsebcli
    error in awsebcli setup command: Invalid environment marker: sys_platform == "win32" and python_version >= "3.6"
    Complete output from command python setup.py egg_info:
    error in awsebcli setup command: Invalid environment marker: sys_platform == "win32" and python_version >= "3.6"

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/awsebcli
Storing debug log for failure in /home/circleci/.pip/pip.log
Exited with code 1
@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Feb 27, 2019

@vitr - We just experienced this on one of our node repos, but surprisingly not for our rails apps which use the same sort of config.

Afraid it's beyond my dev-ops knowledge as to why it happens, but this revision seems to fix the issue:
https://gist.github.com/ryansimms/808214137d219be649e010a07af44bad/revisions#diff-efeb8e8fc639c88ae04766794608b44bR73

^^ one liner adding sudo pip install --upgrade setuptools before the sudo pip install awsebcli --upgrade command.

@vitr

This comment has been minimized.

Copy link

commented Feb 28, 2019

@ryansimms thanks for replaying! I believe it works for some configurations, but the main difference in my CI is that I use

machine: true

and you're inside some docker image

    docker:
      - image: circleci/ruby:2.4.3

I ended up with a docker way fix, I post it here as alternative solution, if you don't mind

      - run:
          name: Making AWS profile
          command: |
            mkdir  ~/.aws
            echo -e "[profile eb-cli]\naws_access_key_id=$AWS_ACCESS_KEY_ID\naws_secret_access_key=$AWS_SECRET_ACCESS_KEY\n" > ~/.aws/config

      - run:
          name: Deploying to Elastic Beanstalk
          working_directory: /home/circleci/project/my-project/
          command: |
            docker run --rm  -v $PWD:/aws -v ~/.aws:/root/.aws vitr/aws-eb-cli deploy

Here I use pre-built docker image with AWS EB Cli inside https://hub.docker.com/r/vitr/aws-eb-cli
This allowed me to speed up my CI almost twice. With apt and pip commands EB deployment of my project took about 2 mins, now it takes just 1 min, as, I guess, installing eb cli with all pip dependencies is a way longer process than pulling up a docker image with pre-installed eb cli.

@ryansimms

This comment has been minimized.

Copy link
Owner Author

commented Feb 28, 2019

@vitr Sounds good! We have used the config on this gist on a number of projects and find that deployments do tend to slow down over time so anything to help speed things up is always welcome, thanks for sharing!

@princedhimanz

This comment has been minimized.

Copy link

commented Mar 17, 2019

Thanks @ryansimms it work well for nodeJS also by making some changes.Thanks a lot dude

@Klaney

This comment has been minimized.

Copy link

commented Apr 11, 2019

Thanks @ryansimms for the quick guide, just a heads up to anybody else who may be getting the No Environment found for EnvironmentName = 'whatever-env' error on deploy. Check to make sure your default_region in your .elasticbeanstalk/config.yml is set correctly. I didn't change it, and got that unhelpful error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.