npm dployを使って自動デプロイしてみた。


日頃、極々小規模の開発しかしないので、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/

自分の環境に合わせて、設定を変えます。 schemesftp に変更すると 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 シンプルで良さげなのに、日本語の情報が見つけられなくて不安でしたが、凄い楽チンで良かったです。コマンドライン叩いて終わるなら手間も少なくて、さらにこっちの方が確実性が高くて良いなあと思いました。

一人で作ってると、何も気にせずについテストサーバーへぐいぐいアップしまっくてしまうので、ちゃんとコミットしてからアップする癖が付きそうなのも良いですね。

ダウンタイムの無いサーバーとかそんなシビアな環境を請負う事はほぼ無い(し、そういう場合はバックエンドの人が別に居る)ので、暫くこれを使ってみようと思います。


この記事を書いた人