2009-05-13 12 views
11

¿Alguna idea?¿Cómo configurar TeamCity en IIS?

+1

¿Por qué? Team City incluye su propio servidor web y se puede instalar como un servicio de Windows. – Nat

+9

porque desea ejecutar iis y teamcity en el mismo cuadro y tener ambos en: 80? –

Respuesta

5
+0

¿Puede dar más detalles? –

+0

Team City se ejecuta con Tomcat ya que es una aplicación web de Java. Para conectarlo en IIS, necesita el conector IIS para conectar tomcat con IIS. –

+1

Información sobre esto está aquí: http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html – Ken

33

Con IIS 7.5 puede usar enrutamiento de solicitudes de aplicaciones para enrutar solicitudes al teamcity.server.domain.com:80 a Tomcat al server.domain.com:81. Consideraría este enfoque superior ya que el Tomcat Connector parece un poco escamoso bajo WS2008 x64.

Jon Alb tiene una buena valoración crítica sobre cómo configurar TeamCity además IIS en WS2008:

Además, es necesario asegurarse de que el DNS puede resolver teamcity.server.domain.com a server.domain.com. Mi servidor IIS necesitaba un ipconfig /registerdns para actualizar correctamente su entrada de DNS. Correctamente significa en este caso crear una entrada de dominio en la zona de búsqueda domain.com para server, un simple registro A no es suficiente. En ese dominio, es necesario crear un registro CNAME para *, por lo que cualquier subdominio va a ser redirigido a server.domain.com

Un gran problema que encontré es que IIS 7.5 parece a escribir ya no correctamente el archivo applicationHost.config, por lo que el número de puerto no se persistirá end-up. Esto dará lugar a un desagradable error 400.0 Bad Request porque se alcanzará el límite MAX_FORWARDS (la solicitud se rooteó en círculos).

Para solucionar este problema, añada lo siguiente a C:\Windows\System32\inetsrv\config:

<webFarms> 
    <webFarm name="teamcity" enabled="true" adminUserName="" adminPassword="[enc:AesProvider:2blZ7roifGTktpn8zBBuVQ==:enc]" primaryServer=""> 
    <server address="localhost" enabled="true"> 
     <applicationRequestRouting httpPort="YOURPORTHERE!!!" /> 
    </server> 
    <applicationRequestRouting> 
     <loadBalancing algorithm="WeightedRoundRobin" /> 
     <protocol reverseRewriteHostInResponseHeaders="true" /> 
    </applicationRequestRouting> 
    </webFarm> 
</webFarms> 

Editar Si está ejecutando otros sitios, y conseguir un 404, además de seguir la Parte 2 es necesario crear un sitio ficticio para coger el nombre de host como la siguiente respuesta de Ian Patrick Hughes.

+0

Casi medio año después quiero volver y al menos compartir el hecho de que estoy ejecutando Teamcity en un servidor ubuntu con lighttpd como proxy ahora.La configuración de Windows tuvo algunos problemas con la conexión de un agente de Mac OS que no pude descifrar. Configurar Teamcity en Ubuntu fue sencillo y fácil. –

10

Para añadir a la respuesta de Johannes Rudolph ... El artículo de Jon Alb es la mejor para un simple resumen de la exposición Equipo de la Ciudad en IIS 7.5. Lo único que hay que mencionar es que si está ejecutando otros sitios en esa instancia de servidor, después de seguir con su second part, puede que necesite crear un sitio ficticio buscando un valor de encabezado de host de subdominio porque parecía que IIS nunca ejecutó mi granja. - escribir url si no había ningún sitio que coincida. Sin embargo, esto también debería permitirle emplear Autenticación HTTP si desea proteger su página de inicio de sesión de Team City en el puerto 80.

+0

Este es un paso bastante chiflado, pero mi experiencia fue la misma. Cuando instalé ASP.Net 3.5 y 4.5 mi granja los redireccionamientos dejaron de funcionar y tuve que editar manualmente la configuración con las instrucciones de Johannes Rudolph y agregar sitios ficticios que coincidan con mi teamcity y teamcity.domain HTTP_HOST reescribir las condiciones. Gracias por la sugerencia! – grenade

+0

Sí, hace unos años me encontré con este problema ¡Estoy sinceramente sorprendido de que la gente todavía esté resolviéndolo de manera similar! –

Cuestiones relacionadas