Ich möchte Vagrant Umgebungsvariablen während der Bereitstellung zur Verfügung stellen, damit ich einige Befehle ausführen kann, die auf ihnen für Anmeldeinformationen angewiesen sind. Speziell aws cli
und pg_restore
.Wie kann ich Umgebungsvariablen während der Vagrant-Bereitstellung verfügbar machen?
Zum Beispiel benötigt pg_restore
Zugriff auf die $ PGPASS-Variable, die ich in meinem .bash_profile
einstelle. Ich habe versucht, source /home/vagrant/.bash_profile
ausführen, die die erforderlichen AWS-Umgebungsvariablen exportiert, aber später in meinem Bereitstellungsblock der aws
Befehl fehlschlägt, weil die Umgebungsvariablen nicht festgelegt sind.
Bash_profile
export AWS_ACCESS_KEY_ID='keyid'
export AWS_SECRET_ACCESS_KEY='secret'
Vagrantfile Provisioning Block
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
Danke! Konnte den Wald nicht durch die Bäume sehen. –