3

私は、5 人の開発者が Visual Studio 2005/2008 を使用して、Oracle 8i (間もなく 10g) データベースに対して開発 Web サーバー上で ASP.NET Web アプリケーションを共同で開発する方法を計画しようとしています。

開発者は、ローカル ネットワーク上にいるか、vpn (非常に高速な接続ではありません) 経由で接続しています。

最新の Visual SourceSafe を評価しましたが、次の落とし穴に遭遇しました。

1) 開発用オラクル データベースをすべての開発者コンピューターにレプリケートできないため、分散型開発を使用できません。また、vpn が遅すぎて、ローカル アプリ インスタンスをデータベース サーバーに接続できません。

2) VSS ソース コードはファイル システム上にないため、それをデバッグする唯一の方法は、アプリをビルドしてデバッガーを実行することです。これは、集中開発サーバーで一度に 1 人の開発者のみが実行できます。これは受け入れがたい。ファイルがチェックインされるたびに開発サーバーのアプリ インスタンスに発行されるようにシャドウ フォルダーを使用しようとしましたが、これは vpn 上のリモート開発者には失敗しました。

3) 開発者は多くの Web コードを実行するため、生産性の理由から、ファイルを保存するときに、開発サーバーで変更が行われていることをすぐに確認できることが重要です。

4) ファイルを本番サーバーにプッシュするための制御されたプロセスを実装する簡単な方法がない。

これらの制約の下で機能するソース管理ソリューションに関する提案はありますか?

更新:開発はサーバー上で行う必要があるため、「ロック アンド チェックイン」モデルを使用する必要があると思います。では、「ロック アンド チェックイン」シナリオに最適なソース管理ソリューションはどれでしょうか?

更新: Visual SVN は、開発サーバーに対する集中開発をサポートしていますか? のように、開発者は VS に保存した後、開発サーバーで自分の更新をすぐに見ることができますか?

4

6 に答える 6

4

私はSubversionTortoiseSVNを使用しており、非常に満足しています。

于 2008-10-02T19:00:37.300 に答える
3

ポイント 1 は、データベース スキーマ (またはデータ) の問題によるものですか?

  1. 開発用オラクル データベースをすべての開発者コンピューターにレプリケートできないため、分散型開発を使用できません。

そうでない場合は、すべての開発者が独自の環境 (Visual Studio、Oracle など) を持ち、開発サーバーを統合目的で使用することを強くお勧めします。データのサブセットや、スキーマ スクリプトだけを提供することもできます。

  • Oracle Express Editionは、このシナリオに最適です。さらに、同じデータベースを共有することは、データベース作業のルール #1 に違反します。これは、私の経験では、可能な限り実施する必要があります。
  • Guy が提案したように、開発者がいつでもデータベース スキーマを再作成できるように、自動化されたビルドを用意してください。
  • より有用なガイドラインはこちらにあります(上記のルール #1 を含めてください)。
  • 並行開発が可能になるように開発プロセスを定義し、ロックは最後の手段としてのみ使用してください。

これらの解決策をすでに思い描いていて、自分の状況に合わないと感じた場合は申し訳ありませんが、念のため表現したいという衝動に駆られました...

于 2008-10-03T09:41:55.603 に答える
2

Visual Source Safe はサタンのスポーンです。

Subversion と Visual SVN (Tortise SVN を使用) を見てください。確かに、Visual SVN の価格は少し高く、1 シートあたり 49 ドルですが、優れたツールです。私たちには 6 人のプログラマーからなる開発チームがあり、それは私たちにとって大きな恩恵となっています。

于 2008-10-02T19:10:07.950 に答える
1

お金を使うことができるなら、Team Foundation Server は Visual Studio 開発環境で最適に機能するものです。

また、個人的な経験に基づくと、VPN 接続で問題なく動作します。もちろん、自動ビルドを実行することもできます。

于 2008-10-02T19:01:38.250 に答える
0

価格 (無料) では SVN 、統合の容易さでは Perforceと言えます。

間違いなく、GIT と CVS についても耳にすることでしょう。それらを検討する十分な理由があります。

于 2008-10-02T19:03:00.837 に答える
0

興味深いことに、あなたはサーバー上の Web サイト プロジェクトで作業していて、全員が同じ物理ファイルで作業しているようですね。SVN が VSS よりもはるかに優れており、非常に使いやすいという点には同意しますが、私の経験では、SVN はコードのコピーをローカルで作業する開発者向けです。

VSS は「ロックしてチェックイン」タイプのソース管理ですが、SVN や TFS などのほとんどは「編集してマージ」します。開発者はすべてソースのコピーを取得し、必要に応じてファイルを編集し、後で変更をマージしてソース管理、およびその間に他の誰かがファイルを編集した場合、それらは変更を一緒にマージします。

データベースの観点からは、データベーススクリプトをチェックインし、自動化されたビルドパッケージを作成して実行していると思います(または、開発者または DBA が時々手動で実行しているだけかもしれません)。この場合、SVN または TFS を使用して編集およびマージできるスクリプトのローカル コピーを開発者に持たせることは理にかなっています。

ただし、開発サーバーでソース コードの共有コピーに取り組んでいるチームの場合、編集とマージを使用すると問題が発生する可能性があります。ソース管理の「ロック アンド チェックイン」モデルの方が適している場合があります。破損と安定性の観点から、VSSではありません。

于 2008-10-02T19:24:04.157 に答える