Jenkins è uno strumento open source di supporto allo sviluppo software scritto in linguaggio Java.
Fornisce dei servizi di integrazione continua per lo sviluppo del software. Può essere usato con i principali strumenti di gestione del codice sorgente come Git, CVS, Subversion, Mercurial e Perforce. Può eseguire progetti scritti in Ant o Maven e anche script bash o comandi batch di Windows. Lo sviluppatore principale è Kohsuke Kawaguchi. Il progetto è rilasciato con licenza MIT, una licenza libera.
Storia Jenkins è stato originariamente sviluppato come Hudson. Hudson è cominciato nell'estate 2004 da Sun Microsystems. È stato pubblicato su java.net nel febbraio 2005.
Intorno al 2007 Hudson divenne conosciuto come un'alternativa migliore a CruiseControl e altri server di build open-source. Alla conferenza JavaOne nel maggio 2008 il software vinse il premio Duke's Choice nella categoria Developer Solutions.
Nel novembre 2010, dopo che Oracle acquisì Sun l'anno precedente, sorsero tensioni tra la comunità degli sviluppatori di Hudson e Oracle sulla gestione del progetto. Le trattative che seguirono portarono la comunità ad adottare il nuovo nome Jenkins.Nei negoziati tra gli sviluppatori principali e Oracle, sebbene ci fossero molti punti d'accordo, una questione molto importante fu la gestione del nome Hudson per il quale Oracle chiese l'esclusività sul marchio commerciale nel dicembre 2010. Di conseguenza fu proposta una votazione per cambiare il nome da "Hudson" a "Jenkins". La proposta fu approvata il 29 gennaio 2011, creando il progetto Jenkins.
Jenkins nasce quindi come come versione alternativa di Hudson a partire dallo stesso codice sorgente.
Caratteristiche
Svariati plugin estendono le funzionalità di Jenkins e comprendono l'integrazione con gli strumenti di controllo delle versioni, grandi basi dati e object storage.
Tra i vari modi in cui le esecuzioni, dette run, possono essere azionate c'è l'esecuzione a cron e la risposta in base ad eventi e stati, quali commit, conclusione di altre build e lancio programmatico di una pipeline a valle da parte di un'altra pipeline a monte tramite l'istruzione build.
Ogni build può produrre artefatti tramite l'istruzione archiveArtifacts e report sui risultati in diversi formati, primo fra tutti JUnit, per la consultazione tramite browser e il download.
Note
Bibliografia
Voci correlate Integrazione continua Automazione dello sviluppo Artefatto (sviluppo software)
Altri progetti
Collegamenti esterni
Categoria:Java