Я сделал это с помощью стандартного установщика Teamcity для Windows, и, предположительно, он будет работать на любой платформе.
Изменить местоположение Teamcity
Согласно комментарию сотрудника JetBrains:
Чтобы изменить адрес TeamCity с http://server/
на http://server/teamcity/
, переименуйте каталог <TeamCity home>\webapps\ROOT
в <TeamCity home>\webapps\teamcity
.
Также обратите внимание, что вам нужно будет переименовывать этот каталог каждый раз, когда вы обновляете Teamcity.
Конфигурация прокси
Тогда конфигурация nginx выглядит примерно так:
location /teamcity/ {
proxy_pass http://teamcity-server.domain.com/teamcity/;
}
Или вы можете использовать Apache (я переключился на Apache из-за требований аутентификации, которые у меня были):
<Location /teamcity>
ProxyPass http://teamcity-server.domain.com/teamcity
ProxyPassReverse http://teamcity-server.domain.com/teamcity
</Location>
Перенаправить старый URL
Я также создал новый <Teamcity home>\webapps\ROOT
и поместил в него файл index.jsp
, который перенаправляет на новый URL-адрес, чтобы старые ссылки продолжали работать (например, если кто-то переходит на http://teamcity-server.domain.com перенаправляет на http://teamcity-server.domain.com/teamcity):
<!DOCTYPE html>
<html>
<head>
<title>TeamCity</title>
<meta http-equiv="refresh" content="0;url=/teamcity/overview.html"/>
</head>
<body>
<!-- no content -->
</body>
</html>
Вы также можете выполнить перенаправление в nginx/apache, но выполнение на сервере Teamcity означает, что если кто-то перейдет по старому URL-адресу непосредственно на веб-сервере teamcity (а не через ваш прокси-сервер), он все равно будет правильно перенаправлен (вместо 404). ).
person
gregmac
schedule
01.08.2013