Как настроить TeamCity в IIS?

Любые идеи?

Ответ 2

С помощью IIS 7.5 вы можете использовать Маршрутизацию запросов приложений для маршрутизации запросов в teamcity.server.domain.com:80 до Tomcat в server.domain.com:81. Я бы счел этот подход превосходным, поскольку Tomcat Connector кажется немного шелушащимся под WS2008 x64.

У Jon Alb есть хорошая запись о том, как настроить TeamCity плюс IIS на WS2008:

Кроме того, вам необходимо убедиться, что ваш DNS может разрешить teamcity.server.domain.com до server.domain.com. Для моего сервера IIS требуется ipconfig /registerdns для правильной установки DNS-записи. Правильно означает, что в этом случае для создания записи домена в зоне поиска domain.com для server простой A-Record недостаточно. В этом домене вам нужно создать запись CNAME для *, поэтому любой поддомен будет перенаправлен на server.domain.com

Большая проблема, с которой я столкнулся, заключается в том, что IIS 7.5 больше не правильно пишет файл applicationHost.config, поэтому номер порта не будет сохраняться. Это приведет к неприятной ошибке 400.0 Bad Request, так как будет достигнут предел MAX_FORWARDS (запрос коренится в кругах).

Чтобы исправить это, добавьте следующее в 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>

Изменить. Если вы запускаете другие сайты и получаете 404, помимо следующей части 2 вам нужно создать фиктивный сайт, чтобы поймать имя хоста, как указано ниже. Ответ на вопрос Ian Patrick Hughes.

Ответ 3

Чтобы добавить к Johannes Rudolph ответ... Статья Jon Alb является лучшей для простой разбивки на разоблачение Team City в IIS 7.5. Единственное, что нужно упомянуть, это то, что если вы используете другие сайты на этом экземпляре сервера, после того, как вы выполните его вторую часть, вам может потребоваться создать фиктивный сайт, который ищет значение заголовка узла поддомена, потому что казалось, что IIS никогда не выполнял мой код перенаправления моей фермы, если не было сайта, который соответствовал бы. Однако это также должно позволить вам использовать HTTP-аутентификацию, если вы хотите защитить страницу входа в Team City на порт 80.