我想在配置期间使Vagrant可以使用环境变量,这样我就可以运行一些依赖它们获取凭据的命令。具体为aws cli
和pg_restore
。
例如,pg_restore
需要访问我在.bash_profile
中设置的$ PGPASS变量。我已经尝试运行导出所需AWS环境变量的source /home/vagrant/.bash_profile
,但稍后在我的配置块中,aws
命令失败,因为未设置环境变量。
的.bash_profile
export AWS_ACCESS_KEY_ID='keyid'
export AWS_SECRET_ACCESS_KEY='secret'
Vagrantfile配置块
config.vm.provision :shell, run: "always", inline: <<-SH.gsub(/^\s*/,"")
source /home/vagrant/.bash_profile
aws s3 cp s3://bucket/sql/file /tmp/file # fail, missing credentials
echo $(printenv | grep AWS_) # outputs blank line
SH
答案 0 :(得分:1)
您以[{1}}用户身份运行配置为root
用户,因此请务必通过添加vagrant
privileged: false