Dove e in che modo Hudson / Jenkins memorizza i dati?


18

Ho installato Jenkins su Ubuntu 10.10 e non ho trovato alcuna menzione sull'impostazione del database per la persistenza dei dati.

Quindi la prima domanda è dove vengono archiviati i dati, e in secondo luogo, possiamo configurare Hudson / Jenkins con mySQL? o database simili?


In un file system, in genere, qualcosa di simile /var/lib/jenkins/, /var/jenkins_home/o /home/jenkins/.
Ondra Žižka,

Risposte:


11

Hudson / Jenkins non funziona così. Memorizza le configurazioni e le informazioni sul lavoro /var/lib/jenkinsper impostazione predefinita (se si utilizza il pacchetto .deb). Se vuoi impostare la persistenza per un'applicazione specifica, è qualcosa che vorresti gestire da solo: Hudson è un server di integrazione continua, non un framework di test.

Consulta l'articolo Wiki sull'integrazione continua per una panoramica di cosa aspettarsi.


2
@Redmumba ho capito che è un server CI, ma stavo semplicemente esaminando la possibilità che venisse utilizzato per condurre test unitari e persistendo i risultati in un database invece che in file flar. Poiché Jenkins PUO 'essere utilizzato per guidare e visualizzare test. qualche idea?
Kamal,

Una build è molto più di una compilazione (o delle sue variazioni linguistiche dinamiche). Una build può consistere nella compilazione, test, ispezione e distribuzione, tra le altre cose. Una build funge da processo per mettere insieme il codice sorgente e verificare che il software funzioni come un'unità coesiva.
Kamal,

1
Come ho detto, Jenkins è solo un server CI - non è un framework. A tutti gli effetti, Jenkins sta semplicemente eseguendo gli script che specifichi: non gli importa della memoria persistente, delle lingue che usi o anche di quello che stai facendo. Ecco dove penso che sia la disconnessione - Jenkins non fornisce memoria persistente per la tua applicazione, ecc.
Andrew M.

1
ref: dal libro "Integrazione continua: molti considerano la CI senza test automatici e continui non essere CI. Non potremmo essere più d'accordo. Senza i test automatizzati, è difficile per gli sviluppatori o altre parti interessate del progetto avere fiducia nelle modifiche del software. La maggior parte gli sviluppatori di progetti che utilizzano un sistema di CI utilizzano strumenti di unit test come JUnit, NUnit o altri framework xUnit per eseguire test. Inoltre, è possibile eseguire diverse categorie di test da un sistema di CI per accelerare le build. Queste categorie possono includere unità, componente, sistema, carico / prestazioni, sicurezza e altro
kamal

1
Giusto; quindi siamo sulla stessa pagina. Jenkins esegue queste cose: non gestisce i livelli di persistenza, i framework di test, gli strumenti di costruzione (eccetto la formica), ecc. Dovrai costruire il tuo livello di persistenza e test separatamente. Jenkins può rappresentare graficamente gli unittest se sono emessi in formato xunit, che è qualcosa che forniscono i framework di test Java; molte altre lingue (come il naso di Python) verranno visualizzate anche in quel formato.
Andrew M.

6

Jenkins può sembrare che stia archiviando dati, in base a cosa stanno facendo i tuoi script e come.

Come esempio; gli script che eseguono le build di commit giornaliere possono essere configurati per consegnare i risultati "pass / fail" a Jenkins per archiviarli in un file XML. Quindi, se sei mai interessato a recuperare i risultati storici "pass / fail" e utilizzarli in un luogo diverso dalla GUI di Jenkins, puoi effettuare una chiamata all'API Jenkins e ottenere un ritorno di tale XML. Analizzalo e avrai i dati di cui hai bisogno.

Ma - A parte questo, Jenkins non ha un sistema di repository completamente solitario.

Inoltre, di seguito sono riportate le informazioni API di jenkins: https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API


2

La risposta è che jenkins non lo imposterà per te. Devi dirgli come impostare l'ambiente e come eseguire i suoi test. Questo è normalmente fatto nella sezione dei passaggi di costruzione. Se fornirai maggiori informazioni su quale piattaforma li stai usando, forse potremmo darti una risposta più concreta. Potresti avere uno script di shell che installerà la tua applicazione ed eseguirà i suoi test, e poi lo chiami da hudson. Trasformare i dati del runner di test in un modo hudson-friendly per ottenere finalmente i risultati dei test nell'interfaccia utente Web per visualizzarli.


2

Memorizza i dati nella tua home directory in una .jenkinsdirectory. Puoi trovare tutte le informazioni rilevanti relative alle tue build in questa directory.

Jenkins non fornisce supporto integrato per la connessione a qualsiasi database.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.