はじめに
普段、FTPでサーバーにファイルをアップロードする時は「FileZilla」で手動でアップロードを行なっているのだが、アップロードするディレクトリやファイルを間違えたり、繋いでるサーバーがそもそも間違えていたり、ヒヤッとする場面が少なからず定期的に起きてしまう。(ただ私の不注意なだけなのだが...)
そこで、ある案件の今後の更新の運用体制を整理するにあたり、これからはFTPでのアップロードは手動ではなく「Git-ftp」を使おう!となったので、初回設定から実際の使用方法まで、自分の復習も兼ねて記事を書いてみる。
git-ftpの導入手順
Mac
※ homebrew 導入済
※ GitLabでファイル管理中
ターミナルで以下を実行
$ brew install git-ftp
git-ftp 各種設定
Gitで管理しているフォルダ内へ移動し下記を設定
$ git config git-ftp.syncroot 手元ファイルのルートディレクトリ
$ git config git-ftp.url ftp://ホスト名/該当するフォルダまでのパス
$ git config git-ftp.user ユーザ名
$ git config git-ftp.password パスワード
上記実行後、.git/.config
に以下のように設定が反映されてたらOK
[git-ftp]
syncroot = アップロードするルートディレクトり
url = ftp://ホスト名/該当するフォルダまでのパス
user = ユーザ名
password = パスワード
初回デプロイ
*ファイルをまだアップロードしていない場合
以下のコマンドで全てのファイルがアップロードされる
$ git ftp init -v
*ファイルはすでにアップロード済みの場合
git-ftp.log
ファイルだけアップロードされる
$ git ftp catchup
それ以降
変更点をコミットした後に以下を実行
$ git ftp push
差分を確認してpush
- サーバー上の
git-ftp.log
を開きコミット識別番号をコピペ - 以下のコマンドを叩き、サーバ上のファイルとリポジトリとの差分を確認する。
- 差分、変更点に問題なければpush
$ git diff --name-only HEAD 616715abcdefgabcdefgabcdefgabcdefg
$ git ftp push
更新手順
- 変更点をいつも通りコミットする
-
git ftp push
でプッシュ - 実際の反映を確認
参考
https://qiita.com/sayama0402/items/d3d11bbc6b09b9b78527
https://blog.members.co.jp/article/40241
終わりに
FileZillaなどのアプリを使ってのアップロードの方が視認性あって分かりやすい!となりそうな気もするが、慣れたら確実にgit-ftpの方が楽だろうなあ、と感じました。
また、ファイル転送時の安全性と、各環境ごとの差分が生まれにくいメリットは大きいなあ。
参考URLの内容とほぼ差異はないですが自学の為ということで。