1

現在、開発から本番環境に至るまで、サーバー環境を再構成しています。すべてのサーバーは、VMとして実行されているWindows2008サーバーになります。継続的インテグレーションにはTeamCityを使用し、バージョン管理システムとしてSubVersionを使用します。

いくつかの推奨事項を読んだ後、これまでに計画していることを次に示します(冗長性、災害復旧などは含まれていません)。

  • 本番環境:(1)Webサーバー+(1)DBサーバー
  • ステージング:(1)Webサーバー+(1)DBサーバー
  • ビルド:(1)SVN + TeamCity Web&DB +(1)TeamCity Agent
  • 開発:(1)Web/DBサーバー

したがって、合計2つの本番環境+2つのステージング+2〜3のビルド+1つの開発=7〜8台のサーバー

私の質問は次のとおりです。

  1. SVNは専用サーバー上に置くべきですか、それとも開発サーバー上に置くことができますか?

    回答:これまでのところ、SVNはDevサーバー上にあるべきではないというコンセンサスがあるようです。スタンドアロンにするか、TeamCityと同じサーバーでペアリングすることができます。

  2. TeamCityは専用サーバー上に置く必要がありますか、それともSVNサーバー上に置くことができますか?

    回答:これまでのコンセンサスでは、特にTeamCityエージェントとSQL DBが別々のサーバー上にある場合、TeamCityはSVNと同じサーバー上にある可能性があります。

  3. その他の推奨事項、ベストプラクティスはありますか?

    回答: TeamCityは、3つのサーバーインスタンスに分割する必要があります。1つはTeamCity Web用、1つはTeamCity Agent用、もう1つはTeamCitySQLDB用です。

サーバーの無秩序な増加を最小限に抑えながら、確実なベストプラクティスのセットアップを試みています。

4

2 に答える 2

2

あなたの質問に答えるには:

  • SVNを開発サーバーとは別のサーバーに配置します。多くの場合、あらゆる種類のゴミが開発サーバーにインストールされます。
  • TeamCityは、SVNサーバーと同じサーバー上に置くことができます。(これをビルドサーバーと呼びます)
  • 実動システムに復元力が組み込まれていません。
    少なくとも2台のサーバー、別のWebサーバー、およびライブDBサーバーからミラーリングされたホットスタンバイDBサーバーを用意することをお勧めします。
    これらは、他のサーバーと同じデータセンターに配置するべきではなく、インターネットへの代替ゲートウェイを使用する必要があります。
于 2009-05-15T15:43:42.367 に答える
1

SQL Server DB を使用して TeamCity をセットアップし、Tomcat で実行されている webapp のインスタンスをすべて同じ Windows VM でセットアップしました。

  • TeamCity Web サーバーは Tomcat 自体で実行され、大量のメモリを使用します (Tomcat アプリと同様)。
  • TeamCity Build エージェントは、コンパイルするため、大量のメモリを使用します。
  • SQL Server はメモリを大量に消費します。

JetBrains は、ビルド エージェントが Web サーバーと同じサーバー上で最適に実行されるべきではないと述べています。CIセットアップ自体が3つのシステム(TeamCity Webサーバー、TeamCityデータベース、TeamCityビルドエージェント)を使用するように、データベースも(VMだけでなく物理ボックスに)分離することをお勧めします。ビルドに数分以上かかる場合は、別のビルド エージェント サーバーを追加して、特に IDEA または Eclipse から TeamCity のリモート実行/個人ビルド機能を使用している場合は、開発者がコミットでキューに入れられないようにします。

SVN サーバーを TeamCity Web サーバーと同じシステムに配置しても問題はありません。

コンパイルは通常、CPU バウンドまたはディスク アクセスバウンドのアクティビティであることに注意してください。ビルド エージェントは、個別の CPU やディスクに分離することでメリットが得られます。ただし、複数の VM のオーバーヘッドが原因で、ディスクと CPU を共有している別の VM 上にいると、役に立つどころか無駄になる場合があります。

于 2009-05-15T15:52:06.187 に答える