» Vagrant Push

» Local Exec Strategy

The Vagrant Push Local Exec strategy allows the user to invoke an arbitraryshell command or script as part of a push.

Warning: The Vagrant Push Local Exec strategy does notperform any validation on the correctness of the shell script.

The Vagrant Push Local Exec strategy supports the following configurationoptions:

  • script - The path to a script on disk (relative to the Vagrantfile) toexecute. Vagrant will attempt to convert this script to an executable, but anexception will be raised if that fails.
  • inline - The inline script to execute (as a string).
  • args (string or array) - Optional arguments to pass to the shell script when executing itas a single string. These arguments must be written as if they were typeddirectly on the command line, so be sure to escape characters, quote,etc. as needed. You may also pass the arguments in using an array. In thiscase, Vagrant will handle quoting for you.Please note - only one of the script and inline options may be specified ina single push definition.

» Usage

The Vagrant Push Local Exec strategy is defined in the Vagrantfile using thelocal-exec key:

Remote path:

  1. config.push.define "local-exec" do |push|
  2. push.inline = <<-SCRIPT
  3. scp -r . server:/var/www/website
  4. SCRIPT
  5. end

Local path:

  1. config.push.define "local-exec" do |push|
  2. push.inline = <<-SCRIPT
  3. cp -r . /var/www/website
  4. SCRIPT
  5. end

For more complicated scripts, you may store them in a separate file and readthem from the Vagrantfile like so:

  1. config.push.define "local-exec" do |push|
  2. push.script = "my-script.sh"
  3. end

And then invoke the push with Vagrant:

  1. $ vagrant push

» Script Arguments

Refer to Shell Provisioner.