質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

2回答

1814閲覧

Laravel5等最近のFWでの開発環境構築について

move

総合スコア16

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

1クリップ

投稿2016/11/15 08:09

編集2016/11/15 08:54

###前提・実現したいこと
Laravel5を使った開発環境を構築したい。
・macのローカルソースでコーディング
・macにインストールしたvagrant上のcentOSで動作確認
・最終外部のCentOSサーバーにデプロイ

という環境で便利に構築したい。

###現在まで
最近まで少し古いフレームワークですが、ZendFramework1系を使って開発していた事が多くその際の開発環境として

コーディング・・・mac上でphpStormを使って
テスト環境・・・Cetos on macのvagrant
本番環境・・・CentOS

という形で開発していた事が多く、またZendFrameworkの1系は昔ながらのダウンロードして解凍し、php.iniのinclude_pathでパスを通すという流れのフレームワークの為、composer等を使用した事がありませんでした。

現在までの開発環境は、ZendFrameworkを mac,centos on vagrant,本番centOsの3カ所すべてにダウンロード&パスを通しておき、
zfコマンドでmacのローカル上にプロジェクトを生成・・・たとえばこのパスを pathto/newprojectというディレクトリに作ったとします。

1.eclipseやphpstorm等IDEでmacのローカル環境のソースをコーディング
2.vagrantのrsync−autoでvagrant上のcentosへpathto/newprojectの中身だけ(つまりフレームワーク部分は含まない)を転送
3.macからブラウザでvagrant上のapacheにアクセスし動作確認
4.本番CentOSにデプロイする時もpathto/newprojectだけをアップロード
※ただしpathto/newprojectの中のsass等、実際の実行に関係のないファイル類はignore

という環境で開発していました。(ここで言いたいのは自分たちで作った成果物のみを移動するだけだったという事。)

###質問事項
そして今後はlaravel等composerで管理するような最近のフレームワークへ移行しようと思い、開発環境を整えるにあたり使い勝手の良い環境を作りたく質問させていただきました。

laravelで開発する際composerでプロジェクトを作成した場合

composer create-project laravel/laravel PROJECT_NAME

でプロジェクトを作成した際、PROJECT_NAMEディレクトリにLaravelのクラス群もすべてこのディクトリ内に作られますが、今までの開発の流れに近い事をしようとすると

vagrant rsync-auto

で編集ごとにPROJECT_NAMEが丸ごと(フレームワークなどvendor依存の部分)転送となり、vagrant上のcentOSとmac間でのファイル転送がかなり大きく、また自分たちの成果物でないものまで同期対象に含める事になる。
できればmac,centos on vagrant,本番centOsすべてに一旦laravelのvendor依存部分を配置したら、その後は自分たちの成果物部分だけの同期で済ませたい。

少し考えたのが、やはりmac,centos on vagrant,本番centOsの3カ所に

composer create-project laravel/laravel PROJECT_NAME

でプロジェクトを作りvagrantのrsync対象からvendor依存の部分だけignoreさせたりという事も考えましたが、今までのZendframework時に開発していたように完全にフレームワークと自身のソースが分かれているわけではなく同じPROJECT_NAME内にありスマートじゃないなと悩んでおります。

みなさま、このような開発環境を整える際どのような開発環境にされていますか?(どこでコーディングし、どこで動作確認し、どの部分をデプロイ)
composerを使うのも初めてのため、少し今風の開発環境の整え方が知りたく質問させていただきました。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Macであればvagrantの共有フォルダ機能でrsyncではなくnfsにすると良いかもしれません。
SSDを積んでいるMacであれば、nfsで行ったほうがスムーズに行けると思います。

現状私はWindowsでLaravelを利用した開発を行っています。vagrantを利用した開発を行ってきましたが、どうしてもフォルダ共有が遅いので、Dockerでの管理に移行しつつありますね。

投稿2016/11/16 13:07

fagai

総合スコア2158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

move

2016/11/18 08:39

ありがとうございます。rsyncではなくnfsでやってみます。
guest

0

Vagrant上のRsyncを高速に行えるプラグイン「Vagrant-gatling-rsync」を使ってみた
VagrantのデフォルトRsyncは腐っているので、上記のような高速なRsyncを行うToolも存在しています。
Vagrantfileにちょこっと追記してインストールするだけで導入出来るので、一度使ってみてはどうでしょう?

また、NFSでの共有はMacユーザー中心ならば楽勝で使えます(Windowsもプラグインで動作できます)
社内のチームで運用した所、数日に一度マウントが剥がれますので都度vagrant reload等で立ち上げ直す感じでやってました。
試してみて問題ないor許容できそうなら乗り換えてみてください。

投稿2016/11/17 04:49

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

move

2016/11/18 08:39

nfs一回試してみたいと思います。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問