2012-02-06 26 views
0

私はセットアップに 組み込みアプリケーションサーバーは

  • のCollabNet Subversionの
  • を以下

    • Sonatypeネクサス
    • ジェンキンスが含まれ、ビルドの開発環境を必要とします私のアプリケーションはGlassFishアプリケーションサーバー上で動作します。上記の3つのツールには、すべてアプリケーションサーバーが組み込まれています。私はそれぞれをダウンロードして試してみましたが、今は4つのアプリケーションサーバーが稼動していることに少し注意しています。

      私は、それぞれが既存のアプリケーションサーバーにドロップできるwarファイルの亜種も提供していることに気付きました。私は "Collabnet Subversion Edge"では、戦争インストールオプションが付いていないので、他の選択肢がないと思います。他の2つはwarファイルとしてダウンロードできます。

      NexusとJenkinsの両方を同じアプリケーションサーバーで実行する場合の短所は何ですか?何か欠点はありますか?私は現時点でそれを設定する方法を調べている1つです。それは、warファイルがアプリケーションサーバーによって展開/アーカイブ解除された後にのみ構成できるようです。

      私はまた、これらのwarファイルを正式なテストに使用されているように、既存のGlassfishインスタンスにドロップすることを嫌っています。おそらく私はTomcatをインストールして、これらのツールに使うべきだと思います。組み込みサーバーを使用するか、アプリケーションサーバーを1つだけ使用し、必要に応じてさらに多くのメモリを割り当てることをお勧めしますか?これらのツールのいずれかが組み込みサーバーでうまく機能するか、それとも何の違いもありませんか?

      おかげ

    答えて

    2

    ハドソン/ジェンキンスとNexusは、Tomcatでwarファイルとして実行できます(ただし、Collabnetは使用しません)。またはGlassfishを使用することができますが、どちらの場合も、バンドルされたアプリケーションサーバーを使用することをお勧めします。

    NexusはJettyを内部的に使用します。 Hudson 3(Eclipseのベータ版)もそうです。 Old HudsonとJenkinsはどちらも内部的にwinstoneを使用します。これらはどちらも非常に軽量のコンテナであり、それらを並行して実行するオーバーヘッドはごくわずかです。

    これらのサーバーが実際に行っていること(ビルド、実行中の成果物の実行など)から、より多くの影響を受けることになります。

    あなたの人生をインストール、アップグレード、ランタイムサポートのために簡単にするために、組み込みのデフォルトのアプリケーションサーバーを使用することをお勧めします。

    1

    私はジェンキンスを使用していないが、私は別の戦争として実行されている単一のTomcatインスタンスでネクサスとハドソンの実行を見てきました。 nexusの場合、warバージョンとstandaloneバージョンの唯一の違いは、standaloneにはjettyが含まれているため、スタンドアロンで実行できますが、それは単なるラッパーです。実際のネクサスの実行は同じです。

    私はジェンキンズにも同じことが当てはまると思います。したがって、1つのサーバーで4つのインスタンスを実行できるときに、4つのサーバーを実行する理由はありません。彼らはすべて異なるWebコンテキストを持っているので、うまく動作するはずです。

    3

    3つのツールはすべて、1つのGlassfish(または類似のアプリケーションサーバー)インスタンスを共有できます。問題は、分かりやすいメモリ処理パラメータを設定する責任を負うことです。一つのアプリケーションは、JavaのOutOfMemory例外が発生した場合、あなたはそれぞれを発見するでしょう、さまざまなアプリケーションのためのランチャースクリプトをチェックすると、すべてのアプリケーションが潜在的に

    :-(影響を受けるには、Javaヒープとpermgen設定に異なるデフォルト値を設定します。

    関連する問題