使用 Elixir 在 runtime.exs 中设置 AWS ECS 环境变量时出现问题

问题描述 投票:0回答:1

我正在 Elixir 中开发一个项目,该项目在部署在 AWS ECS 上的容器中运行。我正在尝试使用环境变量来定义执行环境 (ENVIRONMENT) 并在我的应用程序中访问它们。

配置 在我的runtime.exs文件中,我的配置如下:

if config_env() in [:prod, :stage] do
  environment = System.get_env("ENVIRONMENT") || "Devs"

  config :lxp, :aws_config,
    environment: environment
end

然后,我的代码中有以下模块:

defmodule Lxp.AwsConfig do
  def get_environment do
    Application.get_env(:lxp, :aws_config)[:environment] || "Devs"
  end
end

我知道 get_environment 函数始终返回“Devs”,这表明未从容器中正确读取 ENVIRONMENT 环境变量。

deployment elixir amazon-ecs
1个回答
0
投票

这是我的 .tfvars 文件

vars_by_workspace = {
  qa = {
     ecs_web_app_config = {}
     map_container_environment = {
        POOL_SIZE = "10"
        SENDGRID_API_KEY = ""
        ENVIRONMENT = "Stage"
        ...
       }

    secrets = [...]
    }
  }
  prod = {
     ecs_web_app_config = {]
     map_container_environment = {
        POOL_SIZE = "10"
        SENDGRID_API_KEY = ""
        ENVIRONMENT = "Prod"
        ...
       }

    secrets = [...]
    }
  }
© www.soinside.com 2019 - 2024. All rights reserved.