在颠沛流离的文件Shell环境变量仅通过先达
问题描述:
我跑流浪1.8.5,它在使用的格式像这样在颠沛流离的文件Shell环境变量仅通过先达
config.vm.provision配置时间支持environment variables in the Vagrantfile上:外壳,路径“bootstrap.sh”,ENV: { “MYSQL_DB_USERNAME”=> “的Django”, “MYSQL_DB_PASSWORD”=> “supersecretpasswordwasreplaced”}
不过,我想这些环境变量也可当我如果没有配置,或者当我使用SSH,请执行up
进入服务器做工作。最明显的方法,我能看到的是
- 将它们建立成箱(似乎是矫枉过正)或
-
repeat them我
config.ssh.forward_env
,使他们可向供应方和SSH。
有没有更好的方法?
答
我不确定最好的最终方式 - 我已经看到这个问题不时出现并讨论。
在我的config.ssh.forward_env中重复它们,以使它们可用于预配置器和SSH。
好,这可能听起来像一个很好的解决方案,但有一些缺点,我已经讨论in this question already
个人的时候,我需要设置环境变量,我想补充他们在.profile
文件:
config.vm.provision "shell", privileged: false, inline: <<-SHELL
echo "export MYSQL_DB_USERNAME = django" > /home/vagrant/.profile
echo "export MYSQL_DB_PASSWORD = supersecretpasswordwasreplaced" > /home/vagrant/.profile
SHELL
它们将在您登录时可用。
无论什么原因,我也使用Vagrant 1.8.5,无论如何,将字符串附加到文件不起作用:( –
@JeandersonBarrosCândido这很奇怪,我不认为它与流浪有关,但可能会如果你ssh进入箱子并运行命令,它是否工作? –
是的......我刚刚摧毁了我的流浪箱并重新创建了它......显然我忘了重新运行流浪汉条款;) –