vaguerent/website/source/docs/push/index.html.md
Seth Vargo 5093f3120e Merge docs and www into a single static site
This is a big commit, and I apologize in advance for the future
git-blames all pointing to me. This commit does a few things:

1.  Merges the website/docs and website/www repo into a single website repo
    to be in line with other HashiCorp projects
2.  Updates to use middleman-hashicorp
3.  Converts less to scss to be in line with other projects
4.  Updates page styles to be in line with other projects
5.  Optimizes images
6.  Prepare for S3 + Fastly deployment with scripts, etc.
7.  Removes blog posts (they have been transferred to hashicorp.com with
    redirects in place
8.  Updated sitemap generation script for better SEO
9.  Fixed many broken links
10. Add description to all fields
2016-01-19 14:35:05 -05:00

1.7 KiB

layout page_title sidebar_current description
docs Vagrant Push push Vagrant Push is a revolutionary feature that allows users to push the code in their Vagrant environment to a remote location.

Vagrant Push

As of version 1.7, Vagrant is capable of deploying or "pushing" application code in the same directory as your Vagrantfile to a remote such as an FTP server or HashiCorp's Atlas.

Pushes are defined in an application's Vagrantfile and are invoked using the vagrant push subcommand. Much like other components of Vagrant, each Vagrant Push plugin has its own configuration options. Please consult the documentation for your Vagrant Push plugin for more information. Here is an example Vagrant Push configuration section in a Vagrantfile:

config.push.define "ftp" do |push|
  push.host = "ftp.company.com"
  push.username = "..."
  # ...
end

When the application is ready to be deployed to the FTP server, just run a single command:

$ vagrant push

Much like Vagrant Providers, Vagrant Push also supports multiple backend declarations. Consider the common scenario of a staging and QA environment:

config.push.define "staging", strategy: "ftp" do |push|
  # ...
end

config.push.define "qa", strategy: "ftp" do |push|
  # ...
end

In this scenario, the user must pass the name of the Vagrant Push to the subcommand:

$ vagrant push staging

Vagrant Push is the easiest way to deploy your application. You can read more in the documentation links on the sidebar.