次の要件を備えた専門的な開発セットアップがどのように見えるかについて、いくつかの意見が欲しいです。
- 数人の PHP 開発者 (PHP など)
- 各開発者は 1 つのグループに属します
- 各グループには、タスクを委任するチーム リーダーが 1 人います。
- 各開発者は 1 台の Windows 7 マシンで作業します
- NetBeans または Eclipse で開発
- 各開発者は、コードを実行できる 1 つの仮想テスト サーバーを「所有」します。
- 使用中の VCS は SVN です
- 製品がリリース/デプロイされる前に最終的にテストされるステージング サーバーがあります。
抽象的になりすぎないように特定のテクノロジーをいくつか挙げました。また、プラグインなどの具体的な提案にも興味があります。
そのセットアップで私の頭に浮かぶいくつかの質問があります。
1) したがって、すべての開発者は個人のブランチで作業します。
2) このブランチは作業コピーでチェックアウトされます。
今...この作業コピーは、開発者のIDEを使用してPC上でローカルに編集され、サーバー上で実行/テストされます。
その場合、それを行う最善の/通常の方法は何でしょうか? つまり、オーバーヘッドをあまり発生させずに、編集したコードをサーバーに取得するにはどうすればよいでしょうか?
開発者は自分のローカル ディスクにコードを持っているでしょうか? それとも、トンネルまたは特定のプロトコルを介してリモート仮想サーバーに IDE で書き込みを行う方がよいでしょうか?
3) 開発者は毎日、中央リポジトリにある自分の個人用ブランチに自分の作業をコミットします。
リポジトリの配置場所に関するベスト プラクティスはありますか? 別サーバー?
4) 次に、開発者がタスクを完了した後、開発者またはチームリーダーが新しいコードをそれぞれのメインブランチまたはトランクにマージします。
一番ややこしいのは、2)と3)の間に書いたことについてです。これまでのところ、私はローカルサーバーでしか作業していませんでした. たとえば、共有フォルダーにあるコードを実行するサーバーを備えた VM を直接編集できるようにします。サーバーが実際にリモートになったときに、ギャップを効率的に埋める方法がわかりません。効率的とは、たとえば FTP 経由で手動でアップロードする必要がないことを意味します。
また、外部ソースや書籍の推奨事項も歓迎します。
編集
私の質問は、準標準/ベストプラクティスを目指しています。これはほとんど標準的な開発シナリオだと思うので、「通常の」解決策が必要です。
編集 2
わかりました...画像で試してみましょう:
V は、1 人以上の開発者 D の仮想テスト サーバーです。C と C' は、2 つのコード バージョンです。それらは可能な限り同一に保つ必要があります。
2つの解決策が思い浮かびます:
1 : C を編集して C' にアップロードし、C' を実行してから C をコミットします。
2 : C は存在しません。いくつかのトンネル技術を介して編集され、実行され、コミットされたJust C'。
私の直感では、どちらのソリューションも準最適であると言えます。では、「プロフェッショナル」/最も効率的/最速/最も便利/最も摩擦が少ない/エラーが発生しにくい/ベストプラクティス/業界標準とは何でしょうか?
質問は?