Как мне настроить внешнюю страницу статуса в TeamCity, как и ее стандартную страницу, которая не требует от меня входа в систему?
-
05-07-2019 - |
Вопрос
Мы только что перешли из CCNET в TeamCity для непрерывной интеграции . р>
В TeamCity я могу нормально использовать страницу / виджет ExternalStatus.
Мы запускаем Cradiator ( http://cradiator.codeplex.com ) в качестве радиатора сборки и уведомителя в мы с нашей комнатой изменили плагин Team Piazza TeamCity для возврата XML в формат CCNET, чтобы Cradiator мог его прочитать.
У меня проблема в том, что измененная страница TeamPiazza требует аутентификации, а страница внешнего статуса TeamCity - нет.
Итак, мой вопрос: как мне сделать пользовательскую страницу без аутентификации?
Решение
TeamCity предоставляет интерфейс AuthorizationInterceptor . в их Open API, который вы можете вставить в код вашего плагина, который позволяет вам контролировать требования авторизации. Р>
shamelessPlug Это то, что я использовал при написании tcMonitor страница состояния. / shamelessPlug
Вот пример кода о том, как его использовать:
/* Add the objects into the constructor and spring will make them
available for you */
public StatusPageController(SBuildServer server,
AuthorizationInterceptor authorizationInterceptor,
UrlMapping urlMapper) {
// Tell teamcity that auth is not required for this page.
authorizationInterceptor.addPathNotRequiringAuth(myUrl);
Другие советы
вы должны размещать сообщения непосредственно на форуме поддержки http://www.jetbrains.net / devnet / community / teamcity / teamcity и опубликуйте ответ здесь, если хотите.
Если Гостевой пользователь включен в TeamCity, вы можете получить доступ к странице с помощью шаблон HTTP-доступа для гостевой аутентификации .
Например, если ваша страница
http://buildserver/teamcity/piazza.htm
вы можете получить к нему доступ, добавив / guestAuth в URL:
http://buildserver/teamcity/guestAuth/piazza.htm