git 为什么AWS EB工具不使用分支机构的默认环境?

hts6caw3  于 2023-04-10  发布在  Git
关注(0)|答案(3)|浏览(110)

我有以下.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”设置默认环境。
但是我有一个默认的环境!它在前三行中就已经指定了!为什么不使用它呢?如果我使用eb use environment,那么它只会在branch-defaults:下添加另一行到当前分支,而我必须在一个新分支上重复同样的事情。
EB CLI 3.14.11(Python 3.7.1)* 和 * EB CLI 3.15.3(Python 3.7.3)

oaxa6hgo

oaxa6hgo1#

原因是它缺少配置的env值。我做了开始工作的eb init

gxwragnw

gxwragnw2#

很抱歉我的回答很蹩脚,但是我很确定您必须为每个分支设置默认环境,或者只使用eb deploy my-env
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html

ni65a41a

ni65a41a3#

我发现branch-defaults指的是AWS CodeCommit功能分支(与environment-defaults部分相同)。由于您希望它理解Git,但它不理解,这可能是您无法让它工作的原因。设置CodeCommit,然后它会做你想要的。

branch-defaults:
  default:
    environment: my-webapi-prod-env-1
  webapi-aws-prod:
    environment: my-webapi-prod-env-1
  webapi-aws-stag:
    environment: my-webapi-stag-env-1
  workerapi-aws-prod:
    environment: my-webapi-worker-env-2
environment-defaults:
  my-webapi-prod-env-1:
    branch: null
    repository: null
global:
  application_name: my-webapi
  branch: null
  default_ec2_keyname: my-ec2-keypair
  default_platform: Docker
  default_region: us-east-1
  include_git_submodules: true
  instance_profile: null
  platform_name: null
  platform_version: null
  profile: null
  repository: null
  sc: null
  workspace_type: Application

相关问题