lambda consulting

MIDDLEMAN DEPLOY

May 23, 2015

MIDDLEMAN

Middleman で作ったサイトをサーバーへデプロイするには、middleman deploy を使うと楽。

middleman deploy を使うためには、gemをインストールする必要がある。

# Gemfile

gem 'middleman-deploy'

どのサーバへデプロイするか、どういう方法でデプロイするかなどは、config.rbに指定する。

デプロイの方法は、いろいろあるが、ここでは、シンプルな FTPrsync を例にあげる。

FTP の場合

もっともシンプルだが、毎回すべてを転送するので、時間が掛かる。。

# config.rb

activate :deploy do |deploy|
  deploy.deploy_method   = :ftp
  deploy.host            = 'ftp.example.com'  # デプロイ先サーバ (FTPサーバ)
  deploy.path            = '/srv/www/site' # デプロイ先のパス (FTPルートからのパス)
  deploy.user            = 'your-acount' # FTPアカウント
  deploy.password        = 'your-password' # FTPパスワード
end

rsync の場合

buildした結果とサーバ上との差分のみがコピーされるので、効率的。

middleman deploy での使い方以前に、rsync コマンド自体についてよく理解しておく必要がある。
rsync コマンドには、たくさんオプションがあるが、それらは、deploy.flgs で指定できる。

# config.rb

activate :deploy do |deploy|
  deploy.deploy_method = :rsync
  deploy.host          = 'www.example.com'  # デプロイ先サーバ
  deploy.path          = '/srv/www/site' # デプロイ先のパス (rsync対象のルートパス)
  # Optional Settings
  # deploy.user  = 'your-account' # no default
  # deploy.port  = 5309 # ssh port, default: 22
  # deploy.clean = true # remove orphaned files on remote host, default: false
  # deploy.flags = '-rltgoDvzO --no-p --del' # add custom flags, default: -avz
end