【问题标题】:Capistrano not setting env vars AWS EC2Capistrano 未设置环境变量 AWS EC2
【发布时间】:2018-11-03 00:01:20
【问题描述】:

我目前在 AWS 的 EC2 实例中使用 capistrano 部署了一个应用程序。

由于某种原因,某些 ENV VARS 在应用运行时未设置。如果我通过 SSH 连接并执行 printenv 或使用 rails 控制台,则 ENV VAR 会正确显示。但是对于正在运行的应用程序,ENV VAR 不显示。

我对 Capistrano 和 EC2 没有多少经验,所以我不完全确定我应该分享什么代码,也不知道在哪里检查我的配置是否正确完成。

如何设置环境变量以便部署的应用程序可以访问它们?

【问题讨论】:

    标签: ruby-on-rails amazon-ec2 capistrano


    【解决方案1】:

    您可以为 capistrano 会话设置环境变量:

    set :default_environment, { 
     'environment_variable_1' => 'value_1',
     'environment_variable_2' => 'value_2'
    }
    

    【讨论】:

    • 我把它放在哪里?
    • 尝试添加deploy.rb
    • 我这样做了,但它们没有添加到 ENV 中。我在 Rails 中打印 ENV 变量,但它们没有出现(我在帖子中提到的变量也没有)
    • 将它设置在当前环境的部署文件夹中(例如:production.rb)是否有任何效果?
    【解决方案2】:

    我在这里找到了答案:Capistrano and API keys in ENV variables?

    我必须按照那里描述的任何方法来设置环境变量。我实际上遵循了第二种方法,使用 dotenv gem。

    【讨论】:

      猜你喜欢
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 2011-12-12
      • 1970-01-01
      • 2013-05-29
      • 2014-09-05
      相关资源
      最近更新 更多