連続ネタの2日目です。今回は環境編です。あまり一般的な構成と代わり映えしないところもあるかもしれません。
サーバ環境周り
イメージとしてはこんな感じで開発しています。
開発のフローとしては
- ローカルMac上のPhpStormで開発を行う
- Vagrant環境内にてテスト実施やデバッグ、動作確認
- 他のエンジニアやディレクタを交えた動作確認やテストの際はグローバル上のサーバで実施(さくらVPS)
のような切り分けをしています。
グローバル上のサーバはAuto Deploymentを設定しているので、ローカルのPhpStorm上でのコード書き換えが常に反映されています。なので、普段の開発外で他の人に環境を見せたい場合にも特に操作は不要で、接続先を切り替えるだけで行けます。
Vagrant内の環境はsynced_folderで設定しているので、Auto Deploymentなどの設定も必要ないためアップロードまでのタイムラグが全くないので快適です。また、XDebugの設定もハマりどころが少なく簡単になります。
synced_folderの設定についてはこちらが参考になります。
Vagrant + VirtualBox で nfs を使って、synced_folder を速くする
vagrantの設定を色々調べて(試してみた)
Vagrant環境は一度上げてしまえば落とすことはあまり無いため、PhpStorm経由でのVagrant操作は特にしていません。必要になったときにはTerminalを立ちあげてhaltなりreloadなりすれば良いと思います。
Deploymentの設定
PhpStorm内で「ファイルに変更があった際にサーバ上のファイルを自動的に更新してくれる」という機能があります。優れていることに、ファイルの追加や更新だけでなく、リネームや削除も反映してくれます。
Connectionタブ
- [Preferences] - [Deployment]
Type
以下の項目から選択
- FTP
- FTPS
- SFTP
- Local or mounted folder
- In place
STFP host
ファイルアップロード先のサーバホストを指定
Port
接続するサーバのポートを指定
Root path
ファイルのアップロード先ルートディレクトリを指定
[…]を押下でサーバ上のディレクトリ構成から選択可能
Auth type
[Password / Key pair]から選択
Mappingsタブ
Use this server as default
プロジェクト内でこのサーバをデフォルトサーバとして設定出来ます。デフォルトサーバに設定するとこでAuto Deployが設定可能になります。
Local path
自分のローカルPC内の同期元ディレクトリを指定
Deployment path on server
デプロイ先のサーバを指定
ConnectionタブのRoot Pathをルートディレクトリに設定していれば、[/]でOK
Web path on server
[Run]などで開くルートパスを指定。基本的には[/]でOK
Excluded Pathsタブ
同期/アップロードしたくないディレクトリをローカル/サーバごとにそれぞれ指定出来ます。
Automatic Upload設定
- [Tools] - [Deployment] - [Automatic Upload (always)]
上述の[Use this server as default]が設定されている場合、[Automatic Upload(always)]が選択可能になります。
チェックを入れたら、ローカルのファイルを書き換えて[File Transfer]タブを確認してみましょう。なんもせずとも自動的に転送されていれば完了です。