首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每次我运行'eb ElasticBeanstalk‘时,亚马逊网络服务部署环境都会进入’严重‘状态。

每次我运行'eb ElasticBeanstalk‘时,亚马逊网络服务部署环境都会进入’严重‘状态。
EN

Stack Overflow用户
提问于 2020-09-15 21:05:21
回答 1查看 102关注 0票数 1

我有一个通过Docker部署到ElasticBeanstalk环境中的React git项目。第一次运行eb deploy时,我没有遇到任何错误,它可以正确地部署到ElasticBeanstalk环境中。但是当我更改源代码时,如果我试图将其部署到相同的环境中,我会得到一个错误。

下面是我运行的代码:

代码语言:javascript
运行
复制
 git add *
 git commit -am "My First Commit"
 docker build -t new-docker-version .
 eb create react-env

然后在创建环境后,我更改了源代码

代码语言:javascript
运行
复制
 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将源代码的更新版本部署到同一环境中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-05 23:01:46

它花了相当多的努力和挖掘,也许还有更好的答案,但这是我对它的看法。

为了让它完美地工作,不应该从控制台面板启动Elastic Beanstalk环境,而应该从命令行启动。第一步是在项目的根目录下创建一个文件夹.elasticbeanstalk,并在其中创建一个如下所示的文件config.yml

代码语言:javascript
运行
复制
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

之后,返回到项目的根目录并运行:

代码语言:javascript
运行
复制
eb init
eb create my-dev

从现在开始,用户所做的每个更改都可以通过运行eb deploy简单地推送到环境中。

###

我发现的第二个更“工业精准”的解决方案是使用亚马逊网络服务CodePipeline。

这是我关注的Medium tutorial。一旦CodePipeline被附加到git项目存储库的当前分支(以及上面关于文件夹.elasticbeanstalk下的文件config.yml的所有步骤完成),更改将在每次git推送后直接在ELB环境中可见。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63902488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档