Reputation: 4719
I want to deploy an app to elastic beanstalk via Dockerrun.aws.json
in the browser.
I click on Create Application
, choose local file
and input version label
as v0.0.0
Deplyment doesn't work because there is an error in my file, so I fix that and want to upload a new version.
Per https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.deploy-existing-version.html#deployments-newversion I go to the navigation pane, choose Environments, choose my environment, click on Upload and deploy
and select my changed local file. The suggested new version label is v0.0.0-1
. I accept that and click on deploy.
My second deployment then fails, apparenty because of versioning because under Health
it says
Incorrect application version "v0.0.0-1" (deployment 2). Expected version "v0.0.0" (deployment 1).
I would like to understand why I cannot deploy the way I'm trying to and how to do it right.
Works but takes a lot of time.
Upload and Deploy
(ensuring same conditions by terminating current environment, creating new one, failing first deployment)
As the old version is expected, I try to enter the old version label v0.0.0
for the second deployment.
I click on Upload and deploy
but the form doesn't allow for that and says An application version with that label already exists.
Application versions
Marcin suggested Application versions
. There I can see the original version which failed:
now I can upload a new file
Incorrect application version "v0.0.0-1" (deployment 2). Expected version "v0.0.0" (deployment 1).
Incorrect application version "v0.0.0" (deployment 2). Expected version "v0.0.0" (deployment 1).
Upvotes: 0
Views: 2639
Reputation: 4719
My problem was that I deployed a multi docker container app ("AWSEBDockerrunVersion": 2
) but did not select Multi-container
as a Platform branch.
Upvotes: 0
Reputation: 238747
You should deploy old versions from Application Version
page.
The window you have screenshot-ed in the question, is to upload a new version, not re-deploy the old one. Thus you get the error message, that you want to label a new version of your application as an old version.
However, if you want to upload old version yourself again, you have to assign a new, non-existing label for it.
As a side note for a future, you can minimize the impact of failed deployments on your current environment by using either immutable
or blue/green
strategies.
Upvotes: 3