2009-07-22 15 views
2

現在、.netプロジェクト3.5は、プレゼンテーション、ビジネスロジック、および状態サーバーの3つの別々のサーバーに分散されています。私たちがdotnet上で複数のプロジェクトを持っていることを考慮して、このプロジェクトをVSS 6.0でセットアップする方法をお勧めします。現在、我々はプロジェクト1 として、それらを持っている:Visual SourceSafeセットアップ

>Business Object Layer 
>WebService 
>Proxy 
>Web 

プロジェクト2:課題の

>Business Object Layer 
>Proxy 
>Web 

一つは、実際の実装は、3つのサーバー間で起こるのだろうという直面したが、現在、我々は1つのルートの下にそれらを格納していると、これは私たちに過度の頭痛を引き起こしています。

+2

聖なるものすべての愛のために、疫病のようなVSSを避けてください。私が最初に経験したことのある人から聞いた破損したVSSリポジトリに関する話の数は(ネットではなくIRL)、すべての合理的な限界を超えています。 Subversionのような無料のソース管理システム(たとえCVSでも優れている!)があれば、Visual Studioとの統合を完了すると、最近はVSSを使用する理由がありません。 –

+0

Pavelを聞く。 Subversionを使って遊ぶのは、暇なときに始める必要があります。私はあなたがそれを使用し、それがどのように動作するかを理解すれば、VSSからSubversionに切り替えることを保証します。正しく使用する方法を理解する前に、いくつかのチュートリアルを読む必要があります。設定して使用するのは簡単です。 –

+0

私たちは管理ポリシーの一環としてマイクロソフト製品と結びついています.... – user142589

答えて

3

私はそうのような開発者の作業ディレクトリをレイアウトします:

 
c:\src\ 
    solutions\ 
     *.sln files with references to the project files 
    project1\ 
     project1.csproj 
     *.cs 
    project2\ 
     project2.csproj 
     *.cs 
    ... 

つまり:1つのプロジェクトディレクトリごと(* .csproj)、ネストされたディレクトリ構造。すべてのソリューションファイルは別のディレクトリにあります。 (オプションでソリューションファイルをルート(src)ディレクトリに配置します)。

開発者は、作業しているシステムの部分のソリューションファイルを開きます。

VSSサーバーのフォルダ構造はまったく同じである必要があります。

プロダクションサーバーでは、すべてのサーバーにすべてをプルダウンします(サーバーでビルドした場合は、それです)。サーバーでビルドしていない場合、正しいソリューションを構築する展開スクリプトを作成します。その後、bin\Debug|Releaseのすべてを正しい場所にコピーします)。

補足として、別のソース管理システム、たとえばSubversionの使用をお勧めします。 VSSは簡単に操作することはできませんし、あなたの方法で取得する傾向がある、IMO。

+0

の代わりに使用してください。いいね – user142589

0

Microsoft以外のツールを使用することができないため、VSSではなくTeam Foundation Server(バージョンコントロールコンポーネント以上)を使用していますか?私の経験から、TFSはまともなソース管理システムです。 TFSを使用すると、1人以上の人による開発をより良くする排他的なチェックアウトではなく、より良い編集 - マージ機能があります。さらに、TFSではVSSよりも分岐とマージがはるかに優れています。

5人のユーザーの後で最大5人の名前付きユーザーを提供するTFS用のワークグループライセンスがあります。また、Active Directoryの認証/承認が必要な場合は、標準エディションを使用する必要があります。特定のMSパートナー特典レベルに応じて、貴社はすでにTFSのライセンスを取得している可能性があります。

さらに、すべてのクライアントにCAL(およびチームエクスプローラがインストールされている)が必要です。 MS Licensingについての私の理解から、TFSサーバーにアクセスするすべての人がVisual StudioのチームSKUを持っている必要はなく、VS Proを引き続き使用してTFS CAL(Team Explorerに付属)を購入することができます。私は以前の雇用主にこの正確な解決策を実装しました。

(私だけのように完全に展開し、(部分的)機能スパイクブランチトランクを示している)私はこのようなソリューションを設定しますTFSでは

$/Project1/ 
    Branches/ 
     /Spike1/ 
      BusinessObject/ 
       BusinessObject.sln 
       BusinessObjectProject1/ 
       BusinessObjectProject2/ 
      WebService/ 
       WebService.sln 
       WebServiceProject1/ 
       WebServiceProject2/ 
      <etc> 
    Tags/ 
    Trunk/ 
     BusinessObject/ 
      BusinessObject.sln 
      BusinessObjectProject1/ 
      BusinessObjectProject2/ 
     WebService/ 
      WebService.sln 
      WebServiceProject1/ 
      WebServiceProject2/ 
     Proxy/ 
      Proxy.sln 
      ProxyProject1/ 
      ProxyProject2/ 
     Web/ 
      Web.sln 
      WebProject1/ 
      WebProject2/ 
$/Project2/ 
    Branches/ 
    Tags/ 
    Trunk/ 
     BusinessObject/ 
      BusinessObject.sln 
      BusinessObjectProject1/ 
      BusinessObjectProject2/ 
     Proxy/ 
      Proxy.sln 
      ProxyProject1/ 
      ProxyProject2/ 
     Web/ 
      Web.sln 
      WebProject1/ 
      WebProject2/ 

支店フォルダがあり、あなたが簡単にできるように、 TFSはブランチと直接祖先と直接子孫の間でブランチ/マージ操作を行うことしかできないため、標準の分岐とマージを特に実装します。アイデアは、ほとんどの日々の開発がトランクで行われていることです。主要な機能やスパイクで作業するために変更を一時的に分離する必要がある場合は、ブランチからブランチに分岐します。統合する(トランクから進行中の変更を自分のフィーチャーブランチに引き続きマージすることができます)。

タグフォルダは、コードの特定のバージョンのスナップショットを作成する準備ができているときに、このフォルダを使用してビルドとデプロイメントを行うことができます。ビルドとデプロイでは、トランクから/ Tags/Testへ、そして/ Tags/Testから/ Tags/Productionへブランチを作成し、変更を/ Trunkから/ Tags/Testにマージします。テスト環境。/Tags/Testで実行される継続的な統合ビルド、またはそのブランチからのビルドを実行し、必要な成果物を適切な場所にコピーするオンデマンドビルドのいずれかを持つことができます。/Tags/Productionブランチにも同様の機能を持たせることができます。これにより、TestからProductionへの変更をマージする際に自動的にビルドとデプロイが行われます。

TFSでは、優れたソース管理に加えて、OK CIビルドサーバー(チームビルドを使用し、TFSボックスまたはビルド専用サーバーのいずれかにビルドする)、作業項目のトラッキングきれいにカスタマイズ可能)とTFSとのSharePoint統合を使用したまともなプロジェクトポータルです。この追加の機能はすべて非常に魅力的です。詳細については、Web上の他の優れたTFSコンテンツを見てみることをおすすめします。

関連する問題