我有一个通过Docker部署到ElasticBeanstalk环境中的React git项目。第一次运行eb deploy
时,我没有遇到任何错误,它可以正确地部署到ElasticBeanstalk环境中。但是当我更改源代码时,如果我试图将其部署到相同的环境中,我会得到一个错误。
下面是我运行的代码:
git add *
git commit -am "My First Commit"
docker build -t new-docker-version .
eb create react-env
然后在创建环境后,我更改了源代码
git add *
git commit -am "Changed Source Code"
docker rmi new-docker-version
docker build -t new-docker-version .
eb deploy
由于以下原因,“部署”在进入“严重”状态之前运行了大约10分钟:
Incorrect application version "app-f43da-200915_151515" (deployment 4). Expected version "app-7295-200915_141954" (deployment 1).
如何通过eb cli将源代码的更新版本部署到同一环境中?
发布于 2021-01-05 23:01:46
它花了相当多的努力和挖掘,也许还有更好的答案,但这是我对它的看法。
为了让它完美地工作,不应该从控制台面板启动Elastic Beanstalk环境,而应该从命令行启动。第一步是在项目的根目录下创建一个文件夹.elasticbeanstalk
,并在其中创建一个如下所示的文件config.yml
:
branch-defaults:
production:
environment: my-prod
staging:
environment: my-dev
global:
application_name: my_application_name
branch: null
default_ec2_keyname: my_key_pair
default_platform: Docker running on 64bit Amazon Linux
default_region: my_default_region
include_git_submodules: true
instance_profile: null
platform_name: null
platform_version: null
profile: null
repository: null
sc: git
workspace_type: Application
之后,返回到项目的根目录并运行:
eb init
eb create my-dev
从现在开始,用户所做的每个更改都可以通过运行eb deploy
简单地推送到环境中。
###
我发现的第二个更“工业精准”的解决方案是使用亚马逊网络服务CodePipeline。
这是我关注的Medium tutorial。一旦CodePipeline被附加到git项目存储库的当前分支(以及上面关于文件夹.elasticbeanstalk
下的文件config.yml
的所有步骤完成),更改将在每次git推送后直接在ELB环境中可见。
https://stackoverflow.com/questions/63902488
复制相似问题