2009-11-24 27 views

Respuesta

118

Sí, it's possible:

Varios agentes se pueden instalar en una sola máquina. Funcionan como agentes independientes y TeamCity trabaja con ellos como agentes diferentes, sin utilizar el hecho de que comparten la misma máquina. Después de instalar un agente se puede instalar uno adicional, siempre que se cumplan las siguientes condiciones:

  • los agentes se instalan en los directorios separados
  • tienen los directorios de trabajo temporales y distintivos
  • buildAgent.properties se configura tener diferentes valores para las propiedades name y ownPort

Asegúrate de que no hay configuraciones de compilación que tengan el directorio de comprobación absoluta especificado (o bien, asegúrate de que dicha configuración de compilación ns tienen habilitada la opción "comprobación limpia" y no se pueden ejecutar en paralelo).

Bajo Windows, para instalar agentes adicionales como servicios, modificar [agente dir] \ lanzador \ conf \ wrapper.conf para cambiar las propiedades de tener nombre distinto dentro de la computadora:

  • envoltura. console.title
  • wrapper.ntservice.name
  • wrapper.ntservice.displayname
  • wrapper.ntservice.description
+1

Gracias, esto funcionó bastante fácil para mí. – Alexis

+0

Solo un comentario, pero tenga en cuenta que hay pocos beneficios al hacer esto si su máquina agente no tiene los recursos necesarios. Por ejemplo, una VM de núcleo único no funcionará a través de una cola de compilación con tres agentes mucho más rápido de lo que lo hará con una. –

+11

Si ha ido e instalado sus agentes sin saber lo anterior (como yo hice), ejecute "service.uninstall.bat" en el Build Agent instalado en el directorio/bin, luego haga lo que dice la respuesta anterior para cada agente. Después de eso, ejecute "service.start.bat" en cada agente. – Brandon

28

También puede echar un vistazo a esta entrada del blog para la guía paso a paso

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

+1

Encontré esta publicación para ser la más útil ... gracias –

+0

Soy me alegro de que esta publicación de blog haya ayudado a algunas personas. Sin embargo, seguir las instrucciones en él arruinó mi servicio existente. Incluso después de una desinstalación completa de ambos servicios, la eliminación de los dos directorios y la reinstalación solo del servicio original, todavía no se ejecutarán algunos trabajos que funcionaban bien antes de comenzar todo esto. Recomiendo mucho la solución de la respuesta más votados. – sirdank

1

La respuesta más común es el método correcto, pero si desea completar esta más fácilmente se puede utilizar el TeamCityAgent Chocolatey package y proporciona el nombre del agente, la carpeta del agente y el puerto como --params y gestionará la configuración de los archivos de configuración, así como la extracción de la versión requerida de Java a través del paquete server-jre.

La advertencia a esto es que necesita usar --force en cualquier instalación después de que el primer agente como Chocolatey no comprenda actualmente la instalación de la misma aplicación con una configuración diferente como instalación "nueva".

También tendrá que utilizar --version 2.0.1-beta-05 ya que este se encuentra todavía en una fase de prueba, pero debe hacerlo fuera de beta pronto.

completo ejemplo para instalar un segundo agente: choco install teamcityagent --force -y --params 'serverUrl=http://teamcity.local:8111 agentName=AgentUno agentDir=C:\buildAgentUno ownPort=9091' --version 2.0.1-beta-05

Cuestiones relacionadas