2012-10-04 20:22:16 +02:00
|
|
|
Middleman Delpoy -- Deploy a [middleman](http://middlemanapp.com/) built site over rsync or via git (e.g. gh-pages on github).
|
2012-08-21 01:42:11 +02:00
|
|
|
|
2012-08-22 19:06:47 +02:00
|
|
|
[![Build Status](https://secure.travis-ci.org/tvaughan/middleman-deploy.png)](http://travis-ci.org/tvaughan/middleman-deploy)
|
|
|
|
|
2012-08-21 01:42:11 +02:00
|
|
|
===
|
|
|
|
|
|
|
|
## QUICK START
|
|
|
|
|
|
|
|
### Step 1
|
|
|
|
|
|
|
|
gem install middleman-deploy
|
|
|
|
|
|
|
|
### Step 2
|
|
|
|
|
|
|
|
middleman init example-site
|
|
|
|
cd example-site
|
|
|
|
|
|
|
|
### Step 3
|
|
|
|
|
|
|
|
Edit `Gemfile`, and add:
|
|
|
|
|
2012-09-04 19:30:52 +02:00
|
|
|
gem "middleman-deploy", "~>0.0.1"
|
2012-08-21 01:42:11 +02:00
|
|
|
|
|
|
|
Then run:
|
|
|
|
|
|
|
|
bundle install
|
|
|
|
|
2012-08-30 15:34:16 +02:00
|
|
|
### Step 4a - Rsync setup
|
2012-08-21 01:42:11 +02:00
|
|
|
|
2012-10-04 20:22:16 +02:00
|
|
|
First be sure that `rsync` is installed.
|
|
|
|
|
2012-08-21 01:42:11 +02:00
|
|
|
#### These settings are required.
|
|
|
|
|
2012-08-23 01:30:54 +02:00
|
|
|
Edit `config.rb`, and add:
|
2012-08-21 01:42:11 +02:00
|
|
|
|
|
|
|
activate :deploy do |deploy|
|
2012-08-30 15:34:16 +02:00
|
|
|
deploy.method = :rsync
|
2012-09-04 19:30:52 +02:00
|
|
|
deploy.user = "tvaughan"
|
|
|
|
deploy.host = "www.example.com"
|
|
|
|
deploy.path = "/srv/www/site"
|
2012-08-21 01:42:11 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
Adjust these values accordingly.
|
|
|
|
|
|
|
|
#### These settings are optional.
|
|
|
|
|
2012-08-21 01:47:42 +02:00
|
|
|
To use a particular SSH port, add:
|
2012-08-21 01:42:11 +02:00
|
|
|
|
|
|
|
deploy.port = 5309
|
|
|
|
|
2012-08-21 01:47:42 +02:00
|
|
|
Default is `22`.
|
|
|
|
|
2012-08-23 01:17:25 +02:00
|
|
|
To remove orphaned files or directories on the remote host, add:
|
2012-08-21 01:42:11 +02:00
|
|
|
|
2012-08-23 01:17:25 +02:00
|
|
|
deploy.clean = true
|
2012-08-21 01:42:11 +02:00
|
|
|
|
2012-08-21 01:47:42 +02:00
|
|
|
Default is `false`.
|
|
|
|
|
2012-10-04 20:22:16 +02:00
|
|
|
### Step 4b - Git setup
|
|
|
|
|
|
|
|
First be sure that you have already placed your project under revision
|
|
|
|
control using git.
|
2012-08-30 15:34:16 +02:00
|
|
|
|
2012-10-05 05:44:12 +02:00
|
|
|
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.
|
|
|
|
|
2012-08-30 15:34:16 +02:00
|
|
|
Edit `config.rb`, and add:
|
|
|
|
|
|
|
|
activate :deploy do |deploy|
|
|
|
|
deploy.method = :git
|
|
|
|
end
|
|
|
|
|
2012-10-04 20:22:16 +02:00
|
|
|
#### 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.
|
2012-08-30 15:34:16 +02:00
|
|
|
|
2012-11-08 16:45:57 +01:00
|
|
|
### 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.
|
|
|
|
|
2012-08-21 01:42:11 +02:00
|
|
|
### Step 5
|
|
|
|
|
2012-09-04 19:30:52 +02:00
|
|
|
middleman build [--clean]
|
2012-10-04 20:22:16 +02:00
|
|
|
middleman deploy [--clean]
|
2012-08-21 01:56:13 +02:00
|
|
|
|
|
|
|
### NOTES
|
|
|
|
|
|
|
|
Inspired by the rsync task in [Octopress](https://github.com/imathis/octopress).
|