【问题标题】:Why doesn't AWS EB tool use the default environment for branches?为什么 AWS EB 工具不使用分支的默认环境?
【发布时间】:2019-10-25 04:44:53
【问题描述】:

我有以下.elasticbeanstalk/config.yml

branch-defaults:
  default:
    environment: MyDev-env
deploy:
  artifact: target/App-Sprint9-SNAPSHOT-bin.zip
environment-defaults:
  MyDev-env:
    branch: null
    repository: null
global:
  application_name: App
  default_ec2_keyname: app
  default_platform: arn:aws:elasticbeanstalk:us-east-9::platform/Tomcat 8 with Java
    8 running on 64bit Amazon Linux/3.1.0
  default_region: us-east-9
  include_git_submodules: true
  instance_profile: null
  platform_name: null
  platform_version: null
  profile: null
  sc: git
  workspace_type: Application

当我尝试使用 eb deploy -l XXX 进行部署时,它会抱怨:

错误:此分支没有默认环境。您必须通过键入“eb deploy my-env-name”来指定环境,或者通过键入“eb use my-env-name”来设置默认环境。

但我确实有一个默认环境!它在前 3 行中指定!为什么不使用它?如果我使用eb use environment,那么它只会在当前分支的branch-defaults: 下添加另一行,而我必须对新分支重新做同样的事情。

EB CLI 3.14.11 (Python 3.7.1) EB CLI 3.15.3 (Python 3.7.3)

【问题讨论】:

  • 嘿克洛伊。我可以使用类似的配置文件重现此问题。但是我注意到,如果我删除了 'sc' 属性中的 'git' 并用 'null' 替换它,那么它允许我毫无问题地执行 eb deploy。我不知道这是否是 ebcli 的错误,或者可能是 git 与 ebcli 交互方式的错误配置。
  • @ChaseAllbee 我设置了sc: null 并删除了sprint9: environment: MyDev-env,它仍然给了我错误。我在 Windows 上。
  • 我明白了。您可以尝试两件事:将environment: MyDev-env 添加回配置文件,然后运行您一直在运行但打开--debug 标志的部署命令。我想看看我们是否可以收集到关于这个问题的任何额外信息。
  • @ChaseAllbee 这是日志。我不知道您所说的“添加environment:”是什么意思,因为已经有一个default: environment:。不知道你说的是哪条线。我不确定你为什么在使用sprint9: environment: 时想要查看日志。 pastiebin.com/5d8954bd967f3
  • 哦,我误解了你删除的内容。我建议将sprint9: environment: MyDev-env 重新添加到配置文件中,看看是否只需删除 sc 标志就可以解决问题。我希望看到日志,以防有一些关于问题的根本原因可能在 ebcli 上的信息,尽管在调试中似乎没有提供更多信息。

标签: git amazon-web-services aws-sdk ebcli


【解决方案1】:

对不起,蹩脚的答案,但我很确定你必须为每个分支设置默认环境,或者只使用eb deploy my-env

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html

【讨论】:

  • 我认为这是一个错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-01
  • 2020-11-26
  • 2015-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-24
相关资源
最近更新 更多