ミニマル/ボイラープレート プロフェッショナル PHP チーム開発環境について、一般的なコンセンサスを得たいと考えています。この情報は Web のどこにもありません。オープンソースの世界では、非常に多くの選択肢と方法がありますが、インフラストラクチャ/配管の側面に関する共通のベスト プラクティスをまだ見つけていません。
5 ~ 10 人の開発者/デザイナーのチームがいて、LAMP CRUD アプリを作成している小さなショップを考えてみましょう。開発、ステージング、本番ビルドを管理する必要があります。彼らは高品質のソフトウェアを求めており、物事を成し遂げようとしてお互いに足を踏み入れることはできません。展開は簡単かつ迅速である必要があります。場合によっては、修正プログラムが提供されることもあります。運用サーバーを以前のバージョンにロールバックするのも、同じくらい高速である必要があります。
考慮すべき事項は次のとおりです。
ソースコード管理 (SVN、git、Hg)
データベース スキーマ/データの継続的な統合。ソース コードのリビジョンに関連付けられています。これは私が特に興味を持っているものです。
個々の開発環境 (たとえば、各開発者は開発環境の VMware インスタンスを使用して (DB サーバー、Web サーバー、コード、データなど) を調整します)
集中開発、ステージング、本番ビルドの管理
本番デプロイメント (例: tar ボール、.rpm/.deb)
自動化されたテスト (例: SVN コミット フック、遅いテスト用の夜間の cron テスト)
チームのコミュニケーション (バグ追跡、内部文書、irc/im など)
これはコミュニティが編集できるように開いたままにしてあるので、自由に編集/追加してください. 理想的には、誰かがこのページにアクセスして、数時間後にチームが開発を開始するための基盤を整えることができます。