Resolve deployment timeout issues on Elastic Beanstalk #43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Deployments to Elastic Beanstalk were failing with an inexplicable timeout issue, preventing deployments to staging and production environments.
Solution
The initial suspect was cast on the Elastic Beanstalk version due to certain filesystem mounting warnings in
eb-activity
. However upgrading the EB platform did not resolve this issue as discovered by @yong-jie and @kylerwsm . Further investigation revealed that EB deployments have a deployment timeout that if exceeded, would terminate a deployment.The solution was to move the image build step out of the EB deployment pipeline into the Travis pre-deploy pipeline instead. Images would be built in Travis and pushed to the AWS Elastic Container Registry before triggering a deploy in Elastic Beanstalk. EB would only have to download the image instead of spending long periods time building it during the deployment.
Improvements
Added a section on deploying with Travis to the README.
Tests
Repeated deploys of this branch to
edge
.