レンタルサーバ等の、ftpしかできないサーバを扱う案件でもやはりバージョン管理はしたいし、できればcommitで自動デプロイもしたい。そこで、見つけたgit-ftp
を使ってみました。
利用想定環境
以下のようなシーンに有効かと思います。
- ftpしか使えないサーバ
- 検証環境=本番環境(要はサーバ 一つだけ)
- ローカルリポジトリでしか管理していない
主に、レンタルサーバでのサイト開発を一人でするような場合にこれに当てはまるのではないでしょうか。
インストールと使い方
ほぼこの記事通りなのです。まずはインストールして
$ brew install git-ftp
ローカルのリポジトリに移動してinit
$ git ftp init -u (user) -p – ftp://host.example.com/public_html
で、完了です。
ですが、このままだと毎回
- git commit
- git ftp push (…以下略)
と、commitの度にgit ftp push
を繰り返す流れになるので、せっかくなので、commitしたら自動でデプロイするようにします。
hooks
commmit後に走らせる処理は、.git/hooks/post-commit
というファイルに処理を書きます。ここに
exec git ftp push --user (user) --passwd (password) (host)
という形でgit-ftp
の同期コマンドを設定してます。これでok
あとは、git commit
すれば、自動的にftpも走って同期されます。これで通常手動でftp行なっている場合、アップロード漏れの心配が無くなります。