Deploy a middleman built site over rsync, ftp, stfp, or git (e.g. gh-pages on github).
Find a file
Tom Vaughan d4ae8de561 bump
2012-11-13 20:33:45 -03:00
features/support add a simple coverage report 2012-09-04 10:47:53 -07:00
lib bump 2012-11-13 20:33:45 -03:00
.gitignore add a simple coverage report 2012-09-04 10:47:53 -07:00
COPYING a.k.a. the mit expat license (same (more or less) as middleman) 2012-08-20 16:22:26 -07:00
Gemfile add a simple coverage report 2012-09-04 10:47:53 -07:00
middleman-deploy.gemspec thanks everybody! for reals! 2012-11-13 20:29:47 -03:00
Rakefile required by travis-ci.org 2012-08-22 11:51:43 -07:00
README.md document that we support the after_build hook 2012-11-13 20:29:20 -03:00
THANKS thanks everybody! for reals! 2012-11-13 20:29:47 -03:00

Middleman Delpoy -- Deploy a middleman built site over rsync or via git (e.g. gh-pages on github).

Build Status

===

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.1"

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

First be sure that you have already placed your project under revision control using git.

For example, for the default values of remote="master" and branch="gh-pages", the output of git branch -a should look like:

  gh-pages
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/gh-pages
  remotes/origin/master

This shows that "gh-pages" exists in the remote and local repos. There needs to be at least one commit in "gh-pages" with which to start.

Edit config.rb, and add:

activate :deploy do |deploy|
  deploy.method = :git
end

These settings are optional.

To use a particular remote, add:

  deploy.remote = "some-other-remote-name"

Default is origin. Run git remote -v to see a list of possible remotes.

To use a particular branch, add:

  deploy.branch = "some-other-branch-name"

Default is gh-pages. Run git branch -a to see a list of possible branches.

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.