如何创建一组环境变量,使其既可以在本地开发中使用,也可以在使用Rails 6的Heroku上使用?
g6ll5ycj1#
有许多不同的方法来配置环境变量,人们也有许多不同的偏好。就我个人而言,对于我的本地开发,我通常使用the dotenv gem。我将使用git-ignore .env,但我将添加一个.env.example,其中需要删除所有的变量。然后在我的本地 checkout 中,我将cp .env.example .env,并为我的所有本地配置编辑该.env文件。dotenv-rails包含一个railtie,用于从.env文件加载环境变量(如果尚未将其作为真实的的env变量提供)。当我部署到Heroku时,我只是使用Heroku控制台或GUI在那里设置我的环境变量。
.env.example
cp .env.example .env
dotenv-rails
.env
6ju8rftf2#
Rails凭据工作得很好,它们不需要任何额外的gem,并在一个位置保存所有的应用程序秘密。
EDITOR=vim rails credentials:edit
您可以通过Rails.application.credentials.name_of_key访问您在此加密文件中设置的任何变量。通常,您的.gitignore文件将排除master.key文件,因此要在云提供商上访问它,您需要提供单个密钥作为解密的环境变量。
Rails.application.credentials.name_of_key
master.key
2条答案
按热度按时间g6ll5ycj1#
有许多不同的方法来配置环境变量,人们也有许多不同的偏好。
就我个人而言,对于我的本地开发,我通常使用the dotenv gem。我将使用git-ignore .env,但我将添加一个
.env.example
,其中需要删除所有的变量。然后在我的本地 checkout 中,我将
cp .env.example .env
,并为我的所有本地配置编辑该.env文件。dotenv-rails
包含一个railtie,用于从.env
文件加载环境变量(如果尚未将其作为真实的的env变量提供)。当我部署到Heroku时,我只是使用Heroku控制台或GUI在那里设置我的环境变量。
6ju8rftf2#
Rails凭据工作得很好,它们不需要任何额外的gem,并在一个位置保存所有的应用程序秘密。
您可以通过
Rails.application.credentials.name_of_key
访问您在此加密文件中设置的任何变量。通常,您的.gitignore文件将排除master.key
文件,因此要在云提供商上访问它,您需要提供单个密钥作为解密的环境变量。