2009-11-24 5 views
76

複数のビルドマシンがあり、それぞれが1つのTeamCityビルドエージェントを実行しています。各マシンは非常に強く、複数のビルドエージェントを同じマシン上で実行したいと考えています。複数のTeamCityエージェントを同じコンピュータで実行していますか?

これは可能ですか、仮想化を使用しないで?これをサポートするTeamCityの代替品がありますか?

答えて

118

はい、it's possible

いくつかのエージェントは1台のマシンにインストールすることができます。それらは別々のエージェントとして機能し、TeamCityは同じエージェントを共有するという事実を利用せず、異なるエージェントとしてそれらと連携します。

  • エージェントが別のディレクトリにインストールされている
  • buildAgent.propertiesが設定されている
  • 彼らが持っている独特の仕事や一時ディレクトリを: 、追加のいずれかをインストールすることができますつのエージェントをインストールし、次の条件が満たされている提供した後名前とownPortプロパティに異なる値を設定する

絶対チェックアウトディレクトリが指定されているビルド構成がないことを確認します(または、そのようなビルド構成nsは "きれいなチェックアウト"オプションを有効にしており、並列に実行することはできません)。

  • ラッパー:コンピュータ内の異なる名前を持つようにプロパティを変更するには、Windowsの下で

    を変更し、サービスとして追加のエージェントをインストールするには、[エージェントDIR] \ランチャー\ confに\ののwrapper.conf 。 console.title

  • wrapper.ntservice.name
  • wrapper.ntservice.displayname
  • wrapper.ntservice.description
+1

おかげで、これは私のためにかなり簡単に働きました。 – Alexis

+0

あなたのエージェントマシンに必要なリソースがない場合は、これを行うことにほとんど利点がないことに注意してください。たとえば、シングルコアVMは、3つのエージェントが1つより多くの場合よりもはるかに高速なビルドキューで動作しません。 –

+11

上記のことを知らずにエージェントをインストールした場合は、インストールされているビルドエージェントの/ binディレクトリにある "service.uninstall.bat"を実行し、上記の答えが各エージェントに対して何を行うかを実行します。その後、各エージェントで "service.start.bat"を実行します。 – Brandon

28

また、トップの答えが正しい方法ですが、あなたがより簡単にこれを完了したい場合に使用できるステップバイステップガイド

http://handcraftsman.wordpress.com/2010/07/20/multiple-teamcity-build-agents-on-one-server/

+1

この投稿が最も有用であることを発見しました...ありがとう –

+0

私は午前中ですこのブログの投稿が何人かの人々を助けてくれてうれしいです。しかし、それに続く指示に従って、私の既存のサービスが台無しになりました。両方のサービスを完全にアンインストールした後でも、2つのディレクトリを削除して元のサービスのみを再インストールしても、これを開始する前に正常に機能していたジョブはまだ実行されません。私はトップ投票の答えからこのソリューションを強く推奨します。 – sirdank

1

ために、このブログの記事を見てみることができTeamCityAgent Chocolatey packageを入力し、エージェント名、エージェントフォルダ、ポート番号を--paramsとし、コンフィグファイルの設定と、必要なバージョンのJavaをserver-jreパッケージで取得します。

Chocolateyが「新しい」インストールとは異なる設定で同じアプリケーションをインストールすることを現在理解していないため、最初のエージェントの後に任意のインストールで--forceを使用する必要があります。

これはまだテスト段階ですが、すぐにベータ版から外す必要がありますので、--version 2.0.1-beta-05も使用する必要があります。

全第二の薬剤のための例をインストールします。 choco install teamcityagent --force -y --params 'serverUrl=http://teamcity.local:8111 agentName=AgentUno agentDir=C:\buildAgentUno ownPort=9091' --version 2.0.1-beta-05

関連する問題