2010-11-12 10 views
12

Stavo cercando di scoprire chi ha attivato la build fallita di Hudson. Ma ho trovato Started by an SCM change anziché Started by 'UserId'. Ora, cosa significa?Che cos'è "Iniziato da una modifica SCM" in Hudson?

+0

La grammatica mi dà fastidio ... dovrebbe essere "ha iniziato da un cambiamento SCM" – pbx

+4

@pbx in realtà, " un "è la parola giusta qui. L'a/an per le abbreviazioni dipende dalla pronuncia della prima lettera della parola abbreviata ("Es"). Simile a "un'ora" (pronunciato awer/aar a seconda del tuo accento). – Sagar

risposta

14

Significa che qualcuno ha verificato le modifiche al codice al sistema di controllo della versione/alla gestione della configurazione del software (CVS, SVN, Git, ecc.) E Hudson ha iniziato una creazione basata su tale modifica.

Dovresti essere in grado di vedere chi era facendo clic sul link "Modifiche" nel menu a sinistra.

+0

Quello che vedo qui è che normalmente, quando qualcuno commette, dice "Iniziato da cambiamenti da ____". Quando dice "Iniziato da un cambiamento di SCM", presumo che ciò significhi qualcosa di sbagliato in Jenkins tale che non è riuscito a capire chi ha commesso il cambiamento. – Trejkaz

+1

Questo non è proprio vero. Se il tuo lavoro è impostato per eseguire il polling del tuo SCM e rileva che le modifiche sono state confermate (il repository è stato modificato), il messaggio indicherà che il lavoro è stato attivato da una modifica SCM. Niente a che fare con l'utente - questo accadrà anche se non sono stati configurati utenti, ma il lavoro è stato configurato per interrogare SCM – Sagar

+0

Ah, forse se non ci sono utenti configurati. Ma se hai configurato degli utenti, almeno nel nostro caso, dice quale utente l'ha fatto. – Trejkaz

6

"SCM" è "gestione della configurazione software", ovvero il sistema di controllo della versione. Hudson può essere configurato per interrogare CVS, SVN ecc. Per le modifiche al codice sorgente e attivare una build basata su tale modifica.

2

Stavo lavorando a uno script per sparare via e-mail con un elenco di changeset a uno sviluppatore che ha avviato la compilazione. Dopo aver trascorso un paio d'ore sul web cercando di cercare una soluzione, ho trovato una soluzione alternativa per scavare nei file di registro di Hudson. Probabilmente non è il modo più pulito per farlo, ma funziona. Ogni volta che hudson spegne una build, registra lo stato della build in un file di registro. Il registro simile a questa ..

Started by user <****> 
Building remotely on Slave1 
$ hg clone -r test_clone https://mercuial.com/build /some/workspace/test_clone 
adding changesets 
adding manifests 
adding file changes 
added 355 changesets with 298 changes to 43 files 
updating to branch default 
41 files updated, 0 files merged, 0 files removed, 0 files unresolved 
... 
... 

Il file di log è in ~workspace/jobs/${RELEASE}/builds/${BUILD_NUMBER}/log. È quindi possibile analizzare il file di registro per l'ID utente. Qualcosa del genere dovrebbe funzionare.

UserID = head -1 ~workspace/jobs/${RELEASE}/builds/${BUILD_NUMBER}/log|cut -d" " -f4

0

avuto lo stesso problema Jenkins quando il nome ramo verifica e nome del ramo specificato se stesso. Qualsiasi modifica ha attivato hudson per creare automaticamente una build da recuperare.

risolto: cambiare il nome ramo locale a qualcos'altro (o non ne fanno uso, forse)

Problemi correlati