Come configuro una pagina di stato esterna in TeamCity come quella standard che non mi richiede l'accesso?
-
05-07-2019 - |
Domanda
Siamo appena passati da CCNET a TeamCity per Integrazione continua .
In TeamCity, posso usare bene la pagina / il widget ExternalStatus.
Eseguiamo Cradiator ( http://cradiator.codeplex.com ) come radiatore di build e notifica in la nostra camera e io abbiamo modificato il Team Piazza plug-in TeamCity per restituire XML in il formato CCNET in modo che Cradiator possa leggerlo.
Il problema che ho è che la pagina modificata di TeamPiazza necessita di autenticazione, mentre la pagina di stato esterno di TeamCity no.
Quindi la mia domanda è: come posso rendere la pagina personalizzata che non ho richiesto l'autenticazione?
Soluzione
TeamCity fornisce l'interfaccia AuthorizationInterceptor nella loro API aperta che è possibile inserire nel codice del plug-in che consente di controllare i requisiti di autorizzazione.
shamelessPlug Questo è quello che ho usato per scrivere tcMonitor pagina di stato. / shamelessPlug
Ecco un codice di esempio su come usarlo:
/* 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);
Altri suggerimenti
dovresti pubblicare direttamente sul forum di supporto http://www.jetbrains.net / devnet / community / teamcity / teamcity e pubblica qui la risposta se vuoi.
Se un Utente ospite è abilitato in TeamCity puoi accedere alla pagina con il Pattern di accesso HTTP per l'autenticazione guest .
Ad esempio se la tua pagina è
http://buildserver/teamcity/piazza.htm
puoi accedervi aggiungendo un / guestAuth all'URL:
http://buildserver/teamcity/guestAuth/piazza.htm