Middleman Deploy - Deploy a middleman built site over rsync, git (e.g. gh-pages on github) or via ftp.
===
QUICK START
Step 1
gem install middleman-deploy
Step 2
middleman init example-site
cd example-site
Step 3
Edit Gemfile, and add:
gem "middleman-deploy", "~> 0.0.11"
Then run:
bundle install
Step 4a - Rsync setup
First be sure that rsync is installed.
These settings are required.
Edit config.rb, and add:
activate :deploy do |deploy|
deploy.method = :rsync
deploy.user = "tvaughan"
deploy.host = "www.example.com"
deploy.path = "/srv/www/site"
end
Adjust these values accordingly.
These settings are optional.
To use a particular SSH port, add:
deploy.port = 5309
Default is 22.
To remove orphaned files or directories on the remote host, add:
deploy.clean = true
Default is false.
Step 4b - Git setup
Edit config.rb, and add:
activate :deploy do |deploy|
deploy.method = :git
end
By default this will deploy to the gh-pages branch on the origin
remote. The build directory will become a git repo.
These settings are optional.
To use a particular remote, add:
deploy.remote = "some-other-remote-name"
Default is origin. This can be a remote name or a git url.
If you use a remote name, you must first add it using git remote add. Run git remote -v to see a list of possible remote names. If
you use a git url, it must end with '.git'.
To use a particular branch, add:
deploy.branch = "some-other-branch-name"
Default is gh-pages. This branch will be created on the remote if it
doesn't already exist.
Step 4c - FTP setup
These settings are required.
Edit config.rb, and add:
activate :deploy do |deploy|
deploy.method = :ftp
deploy.host = "ftp.example.com"
deploy.user = "tvaughan"
deploy.password = "secret"
deploy.path = "/srv/www/site"
end
Adjust these values accordingly.
Step 5
middleman build [--clean]
middleman deploy [--clean]
To automatically run middleman-deploy after middleman build, add:
deploy.after_build = true
Default is false.
Please note that if the --clean or --no-clean option is passed to
middleman build it will not be passed to middleman deploy. For now
only the value of deploy.clean in config.rb will be used.
NOTES
Inspired by the rsync task in Octopress.
