Help us understand the problem. What is going on with this article?

最強の開発環境を目指して 〜環境編〜

More than 5 years have passed since last update.

連続ネタの2日目です。今回は環境編です。あまり一般的な構成と代わり映えしないところもあるかもしれません。

サーバ環境周り

名称未設定.png

イメージとしてはこんな感じで開発しています。

開発のフローとしては

  • ローカル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]

Preferences.png

Type

以下の項目から選択

  • FTP
  • FTPS
  • SFTP
  • Local or mounted folder
  • In place

STFP host

ファイルアップロード先のサーバホストを指定

Port

接続するサーバのポートを指定

Root path

ファイルのアップロード先ルートディレクトリを指定
[…]を押下でサーバ上のディレクトリ構成から選択可能

Auth type

[Password / Key pair]から選択

Mappingsタブ

Preferences-3.png

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タブ

Preferences-3.png

同期/アップロードしたくないディレクトリをローカル/サーバごとにそれぞれ指定出来ます。

Automatic Upload設定

全画面_2013_12_25_19_53-2.png

  • [Tools] - [Deployment] - [Automatic Upload (always)]

上述の[Use this server as default]が設定されている場合、[Automatic Upload(always)]が選択可能になります。
チェックを入れたら、ローカルのファイルを書き換えて[File Transfer]タブを確認してみましょう。なんもせずとも自動的に転送されていれば完了です。

Vexus2
PhpStormだーいすきっ★ミ
alu-inc
アルは、マンガファンがもっとマンガを楽しめるサービスを作るために立ち上げられた、テクノロジー企業です。
https://alu.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away