2009-05-13 2 views
11

Любые идеи?Как настроить TeamCity под IIS?

+1

Почему? Team City включает собственный веб-сервер и может быть установлен как служба Windows. – Nat

+9

, потому что вы хотите запускать iis и teamcity на одной и той же коробке, и иметь их обоих: 80? –

ответ

5
+0

Можете ли вы дать более подробную информацию? –

+0

Город команды работает под Tomcat, так как это веб-приложение Java. Чтобы подключить его под IIS, вам понадобится разъем IIS для подключения tomcat к IIS. –

+1

Информация об этом здесь: http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html – Ken

33

С помощью 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> 

Edit Если вы работаете на других сайтах, а также получение 404, кроме того, следующая часть 2 вам нужно создать фиктивный сайт, чтобы поймать имя хоста, как указано ниже, говорит Ян Патрик Хьюз.

+0

Почти полгода спустя я хочу вернуться и хотя бы поделиться тем фактом, что сейчас я запускаю teamcity на сервере ubuntu с lighttpd в качестве прокси-сервера.У установки Windows возникли проблемы с подключением агента Buikd Mac OS, который я не мог понять. Создание Teamcity на Ubuntu было безболезненным и легким. –

10

Чтобы добавить ответ Иоганна Рудольфа ... В статье Джон Alb является лучшим для простого пробоя по обнажая Team City в IIS 7,5. Единственное, что нужно упомянуть, это то, что если вы запускаете другие сайты на этом экземпляре сервера, после того, как вы пройдете через его second part, вам может потребоваться создать фиктивный сайт, который ищет значение заголовка узла поддомена, потому что казалось, что IIS никогда не выполнял мою ферму re -write url, если не было сайта, который соответствует. Тем не менее, это также должно позволить вам использовать HTTP-аутентификацию, если вы хотите защитить страницу входа в Team City на порт 80.

+0

Это довольно неприятный шаг, но мой опыт был таким же. Когда я установил ASP.Net 3.5 и 4.5 мою ферму перенаправления перестали работать, и мне пришлось как вручную отредактировать конфиг с инструкциями Johannes Rudolph, так и добавить фиктивные сайты, соответствующие моим требованиям teamcity и teamcity.domain HTTP_HOST. Спасибо за отзыв! – grenade

+0

Да, это было несколько лет назад, когда я столкнулся с этой проблемой Я искренне удивлен, что люди все еще разрешают это так же! –

Смежные вопросы