PHPとMySQLでWebサービスなどを開発する際の開発環境やデプロイの方法について、みなさんはどういう方法が現状ベストだと思われますか?
前提
私はもともと技術レベルが低く意識も低いうえに、20年近く前の知識でストップしています。
なので最新の状況についてはチンプンカンプンです。
Dockerとかコンテナとか聞いたことはありますが、難しすぎて全く理解できていません。
これまで組織に所属したり他人と一緒に開発などしたことがなく、ずっと個人一人でやってきたため、誰からも開発ノウハウ等を教わる機会がなく独学でここまで来てしまいました。個人運営サービスですが、もうちょっとまともな開発手法に改めようと思い、質問いたしました。
私の開発のやり方
私が初心者として勉強していた頃は、「WindowsにXAMPPをインストールしてローカルで開発しろ」という意見をよく見ました。無限ループとか発生すると怖いから、と。
最初はその通りにやってみたのですが、ローカル環境と本番環境(レンタルサーバでのLAMP)とではいろいろ異なる(PHPのバージョンとかWindowsとLinuxのディレクトリ構造の違いとか実際のドメインを使えるかどうか等々)ので結局余計な手間や作業が増えて面倒になり、やめました。
で、ローカルのエディタ等で書いたPHPのファイルをいきなり本番サーバ上にアップする方法に変えました。
つまり本番環境で直接開発・テスト・デバッグするわけです。
すでに運用を開始しているサービスでさえ、修正時や新機能実装時にも本番サーバでそのままデバッグしてます(なるべく影響が少なそうな深夜帯などにやるようにはしてますが)。
企業の方から見ればありえないことかと思いますが、個人運営の無料webサービスなので効率優先です。
ローカルとサーバとでいろいろ設定を書き換える必要がなくなり、ものすごく楽になりました。
私のデプロイ手法
デプロイ手法は上述の通り、FFFTPやWinSCPを使って手動で直接サーバにアップする原始的なやり方です。
自分の中ではそこそこ大規模なサービスになるとPHPのファイル数も100以上になったりしますが、全て自分で開発しているので全体を把握できているからこのようなやり方でも特に問題ありません。
でも他人も含めたチームとかでやるなら、これはよくないよなぁとも思います。
私のバージョン管理
Gitも有名なので勉強しようと思ったことは何度もありますが、そのたびに難解すぎて挫折しています。操作方法も難しいし、そもそもの概念自体がよく理解できない。
で、現状、Dropboxを使ってソースコードのバージョン管理&バックアップとしています。
ファイルを保存するそばから自動で勝手にバックアップされていくし、有料版なので過去のバージョンも全て履歴管理されており、特に困っておりません。
ですが、それでもチームではない個人だとしても、やっぱりGitを使ったほうがいいのでしょうか?
質問
まとめますと、質問したいのは、皆さんは
・開発環境や開発手法は具体的にどんな感じにしてますか?
・デプロイ手法等は具体的にどのようしていますか?
ということです。
私のレベルが低すぎて唖然とされた方も多いかと思いますが、皆さんのベストプラクティスを教えていただけましたら幸いです。
一般に推奨されていない開発手法をとっていることは大問題だと考えておりますので、皆さんの意見を参考にこれを改善するのが課題です。
※前提として、ローカルマシンはWindows10で、本番環境は普通のレンタルサーバ(LAMP)の場合です。
追記
前提として「普通のレンタルサーバ」と記載した通りなのですが、Dockerについて調べてみると、そもそも普通のレンタルサーバでは無理そうですね…。VPSなどが必要っぽい。そうなると、VPS自体の管理や各種ミドルウェアの保守などまた新たな手間が膨大に増えて行く感じがして、結局今までのレガシー体制のほうがよっぽど早くて楽で便利だったという本末転倒な結果になりそうな…。
回答5件
あなたの回答
tips
プレビュー