日頃、極々小規模の開発しかしないので、Transmit で充分満足していたのですが、 npm
で自動デプロイが出来ると知って試してみました。
npm : dploy – npm
公式サイト:DPLOY
git
の差分をみて自動デプロイしてくれる賢い子。sftp
もいけるよ!
使い方
インストール
sudo npm install dploy -g
してグローバルに dploy
をインストールします。
ディレクトリにインストール
cd ~/path/to/your/project
dploy install
デプロイしたいディレクトリに移動して、インストールします。(ディレクトリに git
を導入して、commit
しておいてください。)
すると、以下のような dploy.yaml
を自動生成してくれるので、
dev:
scheme: ftp
host: ftp.my-stage-server.com
port: 21
user: user
pass: password
check: true
path:
local: release/
remote: public_html/
stage:
scheme: ftp
host: ftp.my-stage-server.com
port: 21
user: user
pass: password
check: true
path:
local: release/
remote: public_html/
live:
scheme: ftp
host: ftp.my-live-server.com
port: 21
user: user
pass: password
check: true
path:
local: release/
remote: public_html/
自分の環境に合わせて、設定を変えます。 scheme
をsftp
に変更すると sftp
接続になります。
デプロイ
例えば、 dev
の環境をデプロイしたければ、
dploy dev
とします。(環境の名前は自由に付けられます。)
差分があれば、そのファイルリストを出してくれて、
– Are you sure you want to upload those files? (Y/n)
と聞いてくるので良ければ Y
を入力すると、デプロイされます。かんたん!!
check: false
にすると、この確認も出さないようにも出来ます。
除外するには
gitと全く同じにしたくないケースには exclude
を設定できます。
私は dev
というディレクトリ以下に開発関連を突っ込んでいるのでそれ以下と、 dploy.yaml
を除外したいため、
exclude: ["dev/**","dploy.yaml"]
というのを dploy.yaml
に追記。すると、アップロードしないでおいてくれます。
感想
dploy
シンプルで良さげなのに、日本語の情報が見つけられなくて不安でしたが、凄い楽チンで良かったです。コマンドライン叩いて終わるなら手間も少なくて、さらにこっちの方が確実性が高くて良いなあと思いました。
一人で作ってると、何も気にせずについテストサーバーへぐいぐいアップしまっくてしまうので、ちゃんとコミットしてからアップする癖が付きそうなのも良いですね。
ダウンタイムの無いサーバーとかそんなシビアな環境を請負う事はほぼ無い(し、そういう場合はバックエンドの人が別に居る)ので、暫くこれを使ってみようと思います。