Es posible hacer que más de un servidor TeamCity se ejecute en el mismo cuadro de Windows que los servicios de Windows.
El siguiente procedimiento supone que desea instalar 3 instancias de TeamCity denominadas TeamCity1, TeamCity2 y TeamCity3 en los puertos 8080, 8081 y 8082, respectivamente. Si cambia alguno de estos detalles, asegúrese de mantenerse constante con el cambio durante todo el procedimiento. Cada instancia DEBE ejecutarse bajo una cuenta de usuario de Windows diferente para que este procedimiento funcione. Esto fue hecho con TeamCity 7.1, no estoy seguro de si funciona con otras versiones.
Instalar TeamCity, seleccione "C: \ TeamCity1" como carpeta de destino.
Desmarque el agente de compilación (tanto el servicio de Windows como el núcleo); estos se instalarán más adelante.
Desmarque el Servicio de Windows para el Servidor, pero deje el Core marcado.
Utilice "C: \ TeamCity1 \ TeamCityData \" como el directorio de configuración.
Elija un puerto único para esta instancia. Elegí 8080, 8081 y 8082.
Repita los pasos 1-5 tantas veces como desee, cambiando a TeamCity2, TeamCity3, etc. y cambiando el puerto cada vez.
Vaya a Administración de equipos en Herramientas administrativas y cree 1 cuenta de usuario de Windows única para cada servicio (es decir, TeamCity1, TeamCity2 y TeamCity3). Asegúrese de que las contraseñas no caduquen. Por ahora, asegúrese de que cada usuario tenga suficiente permiso para iniciar sesión en Windows.
Abra un símbolo del sistema elevado yendo a Todos los programas> Accesorios> Símbolo del sistema, haga clic con el botón derecho y seleccione "Ejecutar como administrador".
Ejecute los comandos al final de este procedimiento para cada instancia de TeamCity, reemplazando el número 1 con la instancia de TeamCity correspondiente.
Debe agregar "Iniciar sesión como servicio" para cada cuenta. La forma más sencilla de hacerlo es abrir Servicios desde Herramientas administrativas, hacer clic con el botón derecho en cada servicio, ir a la pestaña Iniciar sesión, volver a escribir la contraseña en ambos cuadros y hacer clic en Aplicar.
Desconecte la máquina e inicie sesión como "TeamCity1".
Vaya a Panel de control> Cuentas de usuario> Cuentas de usuario> Cambiar las variables de mi entorno.
Agregue una nueva variable de usuario haciendo clic en Nuevo ... Nombrela TEAMCITY_DATA_PATH con un valor de C: \ TeamCity1 \ TeamCityData.
Repita los pasos 11-13 para cada instancia de TeamCity.
Cierre sesión y vuelva a iniciar sesión con la cuenta de administrador.
Vuelva al diálogo de variables de entorno y elimine la variable del sistema (no la variable de usuario) llamada TEAMCITY_DATA_PATH.
Si lo desea, cambie los permisos para cada cuenta de usuario TeamCity por lo que no tienen permiso para iniciar sesión en
Open C:. \ TeamCity1 \ conf \ server.xml y C: \ TeamCity1 \ conf \ server-standard.xml y cambie el puerto del servidor = 8105 a otro puerto de su elección. Asegúrese de utilizar el MISMO PUERTO en ambos archivos. Repita para cada instancia de TeamCity.
Inicie cada servicio y conéctese con su navegador para configurar el directorio de datos para cada uno. Tuve que detener todas las instancias del servicio teamcity, excepto la actual, o recibí un error de "cliente no autenticado" durante el proceso de compilación, pero una vez completadas, parecen funcionar bien.
Configure el acceso a la base de datos según corresponda.
Siga estas instrucciones para install multiple build agents on the same machine. No creo que sea posible compartir un agente entre las instancias de TeamCity ya que la comunicación es bidireccional y no parece haber una forma de configurar más de un puerto, por lo que probablemente sea mejor instalar los agentes en C: \ TeamCity1 \ buildAgent1 \ llamado TeamCity1BuildAgent1, C: \ TeamCity1 \ buildAgent2 \ llamado TeamCity1BuildAgent2, C: \ TeamCity2 \ buildAgent1 \ llamado TeamCity2BuildAgent1, etc.
Si desea utilizar puertos estándar para cada instancia TeamCity (80 y/o 443), siga estas instrucciones al use IIS as a proxy for Tomcat.
ataque preventivo contra nuevas banderas en este post. En realidad, esto no va en contra de la licencia de la versión profesional gratuita de TeamCity, así que deje de marcar esto por este motivo. –