Я сделал это с помощью стандартного установщика 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).