FTPでアップロードしているレンタルサーバ上のWEBページをgit管理する方法
FTPアップロードで気軽にWEBページを公開できるレンタルサーバー
最近は安価で自由なVPSが幅を利かせていますが、
安定稼働性やメンテナンスコストの低さから
会社のHPなど静的なコンテンツの多いWEBページではまだまだ
利用する機会が多いのではないでしょうか?
INNOBASEでも会社HPにレンタルサーバーを利用しています。
しかしこのレンタルサーバー
FTPしかインターフェースが用意されていないことが多く
複数人で作業していると、巻き戻りが起こってしまったり何かと不便です。
そこでgitとlftpを用いてレンタルサーバー上のWEBページをバージョン管理
するようにしてみたのでこの方法をご紹介します。
概要
作業、検収用のサーバーを別途用意、ここで編集・確認、git操作を行います。
lftp コマンドのmirrorで本番環境と検収サーバーのファイルを同期します。
検収サーバーにソース、本番環境のファイルをDLする
git のソースをclone
git clone git@XXXXXXXXXXXXXXXX
本番環境のファイルをDL
lftp -u ftpuser,ftppassword hostname -e "mirror home ./remote;exit;”
ディレクトリをこんな感じにする
├── local
│ └── home (git clone したソースの document root 位置)└── remote (本番からDLしたソースの document root 位置)
ソースを編集、commit & push
その時必要な編集を local/home で行いgitに反映させる
本番との差異を確認
必要に応じて本番のファイルをサイドDLして remoteフォルダを最新にします。
その後差異を確認
diff -r remote ./localho/home
本番に展開(deploy)
lftp -u ftpuser,ftppass hostname -e "mirror -R local/home home ;exit;”
lftp の mirror コマンドに -Rオプションをつけるとローカルからリモートへの転送になります。
これで、git管理できるようになりました。
push してからじゃないとアップロードしちゃいけないルールとか
この辺りのコマンドをbotに仕込んでチャットで操作するようにすれば
複数人での同時更新作業も怖くない!