はじめに
運営しているサイトがレンタルサーバーで自分以外SSHでアクセスが出来なかったりする環境の時になんとか、デプロイを人力の手でやることを阻止したいと考え、git-ftpを使うことにした際のメモ。
WindowsとMac両方でのアップロードが必要だったため、頑張って両方での手順を書く
前提
ファイルをgitで管理していることが前提になります。
gitの導入などは別記事を参照ください。
環境
Mac
- OS X 10.13.1
brewを経由してインストールするので、brewが使えるようにしておいてください。
Macの方はこちらを終わらせておくと手順通りに出来ます。
Windows
- OSバージョンはなんでもいい
git bashをインストールしてください。
git ftpのインストール
Mac
ターミナルで以下を実行するだけ
$ brew install git-ftp
Windows
Git bashを「管理者として実行」で開く
立ち上がったら、以下を実行していく
$ cd ~
$ git clone http://github.com/git-ftp/git-ftp git-ftp.git
$ cd git-ftp.git && chmod +x git-ftp
$ cd /bin/
$ ln -s ~/git-ftp.git/git-ftp git-ftp
MacもWindowsも以下を入力してインストール出来ているかを確認
$ git ftp
上記コマンド実行後、git-ftp <action> [<options>] <url>
という表示が出たらインストールが出来ています。
gitftpに設定を行う
gitで管理しているフォルダまで移動する。
gitで管理されている場合は、.git
というフォルダが存在する
Macであればターミナル、Windowsであれば、git bashで以下を行う
$ git config git-ftp.url ftp://ホスト名/該当するフォルダまでのパス
$ git config git-ftp.user ユーザー名
$ git config git-ftp.password パスワード
上記はお使いのレンタルサーバーなどを確認し、適宜変更を行なってください。
上記を行なったら、.git
フォルダ内のconfig
ファイルを確認すると設定が反映されているかと思います。
初期実行
上記の設定が終わったら、以下を行う
$ git add .
$ git commit -m "commit"
$ git push
git pushを行う必要は無いですが、commitまではやっておかなければエラーとなります。
そしたら最初の一回だけは以下のコマンドを実行します。
$ git ftp init -v
init以降のアップロード方法
git ftp init
の初回を終えるとサーバー内にgit-ftp.log
のようなログファイルが生成される。
init
以降は以下のコマンドで随時アップロードが行える
git ftp push
を行う際もgit commit
までは行なっておく必要がある。penddingとなっているとエラーとなる
変更の流れは以下のようになる
- ファイルを編集
- 「git add .」する
- 「git commit -m "変更内容"」する
- 「git push」変更内容をpush
- 上記4つが終わったら、「git ftp push」する
$ git ftp push