gpt4 book ai didi

ruby-on-rails - 如果我仍然需要从环境中加载变量,secrets.yml 有什么意义?

转载 作者:行者123 更新时间:2023-12-04 07:40:07 25 4
gpt4 key购买 nike

我决定使用 secrets.yml 文件来轻松地将我的变量传输到我的应用程序的生产服务器。一旦我打开文件,这就是我注意到的:

development:
secret_key_base: 61a3857f1ddc140836......

test:
secret_key_base: 6041df556cf0feb5e.....

# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

如您所见,对于生产部分,它说“不要在存储库中保留生产 secret ,而是从环境中读取值”

我不了解其他人,但对我来说很明显,如果我这样做,它将完全违背 secrets.yml 本身的目的。我想自己使用 secrets.yml 这样我就不必再通过生产服务器上的终端一个一个地设置环境变量了,但是即使我现在使用 secrets.yml 我仍然需要这样做,那有什么意义呢?

设置变量并将变量从开发过程转移到生产过程一直困扰着我很长时间。我一直试图到处寻找,但似乎没有人真正清楚从头到尾的过程。所以,如果这看起来像一个愚蠢的问题,我很抱歉。

最佳答案

secrets.yml 不应用于保存生产 key 。原因是您不想将它们提交给版本控制。这不安全。

此文件提供了一些您可能忽略的好处:

  1. 您实际上可能需要您的 secret 在不同环境中具有不同的值 - 在开发模式下使用生产 key 可能不需要或不可取。例如。 AWS_BUCKET_NAME:开发生产

  2. 您的某些代码可能依赖于 key 的存在,零值可能会破坏程序。

  3. 即使值不正确,记录生产中存在的 key 也很有帮助。

提示:您可以使用一条命令在终端中设置所有环境变量。把它们都列出来。

config:set FIRST_SECRET=value SECOND_SECRET=value THIRD_SECRET=value ...

关于ruby-on-rails - 如果我仍然需要从环境中加载变量,secrets.yml 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37959105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com