2012-02-02 32 views
5

Inizia a giocare con Jenkins. Creato un nuovo lavoro e inserito l'URL del repository SVN. Premuto build e jenkins hanno controllato con successo il mio repository. Il mio repository non ha accesso anonimo. Nessun indizio su come Jenkins sia riuscito a fare il check-out del deposito.Dove Jenkins memorizza le credenziali SVN

In esecuzione su file di guerra Windows XP + Tomcat6 + Jenkins.

Probabilmente Jenkins è riuscito a leggere la password dalle proprietà del sistema? In questo momento cercando di trovare questo file di configurazione, in cui memorizzare la password-s o le impostazioni

UPDATE

Non sono sicuro, ma sembra che, Jenkins leggere le credenziali SVN dalla cache tortoisesvn. Quando ho pulito la cache, non posso più accedere al repository da Jenkins

risposta

10

Infatti, lo prende dalla cache di Subversion. Almeno, adesso lo so, che non è una buona idea, per salvare le password

Subversion cercare nel file $HOME/.subversion le credenziali, ma memorizza anche la password in ogni progetto in un file chiamato subversion.credentials.

Di solito, la tua macchina Jenkins non è accessibile ai comuni mortali e puoi creare la directory Jenkins $HOME di proprietà di un altro utente. In questo modo, puoi utilizzare le funzionalità di sicurezza del tuo sistema operativo per impedire alle persone di sbirciare dalle tue credenziali Jenkins.

Un'altra possibilità è rendere l'utente di estrazione di Subversion per Jenkins un utente di sola lettura. Ciò consentirà a Jenkins di eseguire il checkout del codice, ma se qualcuno toglie l'account Jenkins Subversion, non sarà in grado di apportare modifiche.

Se si usa anche Jenkins per taggare i build di Subversion, è possibile utilizzare uno pre-commit hook per consentire a Jenkins di creare un tag, ma non essere in grado di fare altro.

Ciò dovrebbe facilitare i vostri problemi di sicurezza. Se ci pensi, Jenkins deve essere in grado di memorizzare il suo account di subversion e la sua password, altrimenti non sarà in grado di eseguire automaticamente il checkout del codice per una build.

1

Infatti, lo prende dalla cache di Subversion. Almeno, adesso so che non è una buona idea salvare le password

4

credentials.xml, in difetto, è sotto ~/.jenkins/

+1

Questa è stata l'unica cosa che ha funzionato per me, con un riavvio Jenkins in seguito, quindi l'aggiunta delle mie credenziali svn di nuovo in –

+0

Questo è il posto giusto! –

0

ho trovato modo più semplice per aggiornare la password.

In genere si tratta di una connessione HTTP protetta, ovvero https. basta cambiarlo in http quindi immediatamente Jenkins ti chiederà di aggiornare i dettagli svn dove puoi aggiornare le credenziali e l'url. enter image description here

0

Jenkins memorizza le credenziali svn nel file .jenkins/hudson.scm.SubversionSCM.xml, elimina le vecchie voci userName e password e mantiene le voci vuote e salva il file. Successivamente riavviare il jenkins e andare alla configurazione del lavoro e all'URL del repository, Jenkins chiederà di inserire nuove credenziali svn. -Praveen

Problemi correlati