如何在Elastic beantalk config.yml中注入环境变量

时间:2019-10-16 14:01:54

标签: amazon-web-services amazon-elastic-beanstalk

在下面的链接中

http://docs.shippable.com/deploy/aws-elastic-beanstalk/

似乎在config.yml中使用了环境变量。我们如何实现这一目标?似乎aws的官方文档没有关于在config.yml中使用变量的详细信息。

任何建议都会有很大帮助。

我想设置类似 使用环境变量而不是仅使用应用程序变量的default_platform。

1 个答案:

答案 0 :(得分:0)

是的,您不会在AWS文档中找到任何东西,因为使用环境变量来模板化config.yml是可发货的功能,而不是AWS的功能。

可运输商品详细说明了如何在documentation you posted中添加额外的ENV(环境变量):

读哪个(以粗体突出显示):


  1. 定义deploy-eb-basic-params

描述:deploy-eb-basic-params是一个params资源,它定义了我们想要使其易于配置的变量。 这些变量定义替换了Dockerrun.aws.jsonconfig.yml文件中的占位符

步骤: 将以下yml块添加到resources文件中的shippable.yml部分。

# shippable.yml
resources:

  - name: deploy-eb-basic-params
    type: params
    version:
      params:
        ENVIRONMENT: "sample"
        PORT: 80
        AWS_EB_ENVIRONMENT_SINGLE: "Sample-env"
        AWS_EB_APPLICATION: "deploy-eb-basic"
        CUSTOM_ENV_HERE: "some value" # <------------ your custom value here.

然后,您应该可以在CUSTOM_ENV_HERE中引用该ENV config.yml

# config.yml
branch-defaults:
  default:
    environment: ${AWS_EB_ENVIRONMENT_SINGLE}
environment-defaults:
  ${AWS_EB_ENVIRONMENT_SINGLE}:
    branch: null
    repository: null
global:
  application_name: ${AWS_EB_APPLICATION}
  default_ec2_keyname: null
  default_platform: ${CUSTOM_ENV_HERE} # <------------ you reference ENV here.
  default_region: ${DEPLOYEBBASICCONFIG_POINTER_REGION}
  instance_profile: null
  platform_name: null
  platform_version: null
  profile: null
  sc: null
  workspace_type: Application

好运。