git-ftp
git
https://github.com/git-ftp/git-ftp
git管理されたファイルをftpでアップロードするツール
仕組みは単純で
アップロード先に.git-ftp.logというファイルを生成し、ここにハッシュ値を記録する
これを参照し比較することで、gitからftp経由でアップロードでき、正しく上書きしているかを検出する
distフォルダからアップロードなど、設定を記述できるので、間違えずにファイルをアップロードできる
npm scriptにかませて、だれでもアップロードできるようにしたりできるかも?
macならhomebrew がある
$ brew install git-ftp
ftp情報はgit configに入れる
$ git config git-ftp.url ftp.example.com//pub
code:config
git-ftp
url = ftp.example.com//pub
こうなる
rootに.git-ftp-includeというファイルを入れると、
git-ftpで送信する時だけ、.gitignoreファイルにこのファイルをマージして送信対象のファイルをみる
これわかりづらいけど例をみればわかると思う
なので
code:.git-ftp-include
!dist/
としたうえで、設定でsyncroot(送信したいフォルダ)をdistに指定してあげれば、ビルドしたファイルのみをアップロードできる
configの例
code:.git/config
git-ftp
url = example.jp//var/www/html/
user = ftp-user
password = hogehoge
syncroot = dist
scopeを入れると
code:.git/config
git-ftp "test"
url = hoge.com/www/html
user = user
password =
syncroot = dist
git-ftp "production"
url = example.jp/www/html
user = user
password =
syncroot = dist
これで
$ git ftp push -s test
でスコープ変えられる