middleman-deploy/README.md

122 lines
2.5 KiB
Markdown
Raw Normal View History

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