Deploy a middleman built site over rsync, ftp, stfp, or git (e.g. gh-pages on github).
Go to file
2013-06-11 00:14:34 -04:00
features/support add a simple coverage report 2012-09-04 10:47:53 -07:00
lib Remove the after_build option. This never made much sense. 2013-06-11 00:14:34 -04: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 The default skeleton provided by middleman now omits versions. 2013-06-11 00:06:36 -04:00
middleman-deploy.gemspec Added SFTP deployment 2013-06-08 22:46:43 +02:00
Rakefile required by travis-ci.org 2012-08-22 11:51:43 -07:00
README.md Remove the after_build option. This never made much sense. 2013-06-11 00:14:34 -04:00
THANKS Clean-up documentation. 2012-12-01 20:52:26 -03:00

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

Build Status

QUICK START

Step 1

middleman init example-site
cd example-site

Step 2

Edit Gemfile, and add:

gem "middleman-deploy", "~> 0.0.12"

Then run:

bundle install

Step 3a - 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 3b - Git setup

First be sure that git is installed.

These settings are required.

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 3c - 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 3d - SFTP setup

These settings are required.

Edit config.rb, and add:

activate :deploy do |deploy|
  deploy.method = :sftp
  deploy.host = "ftp.example.com"
  deploy.user = "tvaughan"
  deploy.password = "secret"
  deploy.path = "/srv/www/site"
end

Adjust these values accordingly.

Step 4

middleman build [--clean]
middleman deploy [--clean]

NOTES

When 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.

Inspired by the rsync task in Octopress.