我是厨师的新手,也是最后一块拼图。我正在尝试使用AWS Opsworks中设置的变量在项目根目录中创建.env文件。我不能为我的生活搞清楚。
有人对此有任何建议或工作厨师食谱吗?我已经用Google搜索了我的智慧。
答案 0 :(得分:4)
如果您使用的是AWS *,通常不会使用.env
文件。 .env文件模仿实际在操作系统级别设置的环境变量,这对于您在本地进行开发或在托管平台上非常有用,而该托管平台不允许您自己设置这些变量。
因此,您需要做的就是在Opsworks中为您的应用设置环境变量,然后就完成了。这些将通过PHP从操作系统加载,然后可供Laravel应用程序使用。
*原因是您通常会在此处存储敏感数据,例如数据库和API凭据。您绝对希望将这些内容与代码分开并保持源代码管理。
修改强>
如果需要,您可以在部署期间编写.env文件。这将是您的Chef脚本的样子:
node[:deploy].each do |application, deploy|
# write out .env file
template "#{deploy[:deploy_to]}/current/.env" do
source 'env.erb'
mode '0660'
owner deploy[:user]
group deploy[:group]
variables(
:env => deploy[:environment_variables]
)
end
end
这就是你的.env文件模板的样子:
<% @env.each do |key, value| %>
<%= key %>=<%= value %>
<% end %>