Domanda

La mia azienda sta valutando la possibilità di cambiare i server di integrazione continua (non dirò quale abbiamo ora, quindi non inclinerò comunque le tue risposte :)) Mi chiedo se qualcuno ha qualche consiglio? Migliore esperienza utente, livello di difficoltà da mantenere, ecc ...

Il nostro codice è tutto in java e usiamo ANT come strumento di compilazione.

È stato utile?

Soluzione

Di recente ho implementato un Hudson server. Avendo precedentemente utilizzato Cruise Control, Sono molto soddisfatto di Hudson e sono rimasto molto colpito dalla sua facilità di installazione e utilizzo. L'aggiunta di nuovi progetti è infinitamente più semplice di quanto non fosse con Cruise Control.

Altri suggerimenti

Modifica: ora usiamo Hudson.

Qualche tempo fa ho esaminato alcuni di questi con i seguenti requisiti:

  • codice Java
  • Build di formiche
  • Build Groovy
  • Build distribuiti
  • Integrazione trigger SCM
  • rapporti http
  • rapporti smtp

La Matrix delle caratteristiche di integrazione continua è un ottimo punto di partenza.

Ho finito per selezionare AnthillPro e lo sto usando con successo, basta grattare in superficie ciò che possiamo e speriamo di usarlo per.

Jetbrains TeamCity sembrava davvero buono quando l'abbiamo visto. È basato su Java, quindi dovrebbe essere facile da estendere per il tuo team e può fare build distribuite, ecc ... C'è una versione gratuita che puoi valutare.

Ho esaminato anche questo e sebbene inizialmente guardassi CruiseControl, ho sentito cose positive su Hudson e ho deciso di provarlo. Sono completamente sbalordito da quanto sia stato facile iniziare (basta scaricare ed eseguire) e la configurazione viene eseguita tramite la GUI, quindi non si può armeggiare con i file di configurazione XML.

In pochi minuti avevo eseguito la mia prima build Ant. Ora lo eseguo come servizio Windows su un server che è disponibile 24 ore su 24, 7 giorni su 7, sia in ufficio che tramite VPN. L'aggiornamento è semplice come scaricare il nuovo file di guerra e riavviare.

Il supporto per i report junit è pronto all'uso. Anche l'installazione di plugin aggiuntivi è molto semplice e ho aggiunto plugin per Trac, Cobertura, FindBugs e PMD. La qualità del codice e dei test sta aumentando in quanto è molto soddisfacente vedere i grafici delle tendenze in aumento!

Ora lo uso per gestire tutte le mie build per ambienti di test e di produzione. Da quando gestisco diverse applicazioni Web, ciò mi dà più tempo da dedicare alla programmazione effettiva. Onestamente non riesco a ricordare come sono riuscito senza di essa.

Bamboo di Atlassian sembra carino ma non ne ho esperienza. Sembra essere simile nelle caratteristiche di Cruise o TeamCity .

Come altre persone qui, davvero amo Hudson .

È estremamente facile da installare (è solo un file di guerra da distribuire), da configurare e da utilizzare. Inoltre, offre molte funzionalità che non sono sempre disponibili su altri sistemi (build matrix, master e slave, sicurezza a livello di server o di progetto ...)

Il numero di plug-in esistenti è abbastanza importante ora e crearne proprio plugin non è così difficile ...

Per finire, questa applicazione si evolve molto velocemente: siamo attualmente alla 257a versione e hanno fatto più di 100 versioni da un anno!

Per i francesi, ho scritto una guida abbastanza completa per usare Hudson qui .

Se stai utilizzando il software per il personale Atlassian (ad esempio Jira, Clover ecc.) Bamboo è la tua strada.

Lo usiamo da un paio di mesi e posso consigliarlo. Ne vale la pena.

Se non sei completamente venduto su Hudson, un test drive con un clic dovrebbe farti cambiare idea.

Fai clic sotto:

https://hudson.dev.java.net/hudson.jnlp

Questo avvierà Hudson tramite Java Web Start per un test drive. Una volta avviato, visita http: // localhost: 8080 / per accedere alla dashboard. Qualsiasi configurazione effettuata con questo Hudson verrà archiviata in ~ / .hudson, pertanto i tuoi dati sopravviveranno al riavvio del processo Hudson.

Se stai usando strumenti abbastanza standard come svn e ant / maven - dovresti avere un build-up e funzionante in 5 minuti. Strumenti diversi e potrebbero essere necessari 20 minuti!

Vedi un'introduzione qui:

http://wiki.hudson-ci.org/display/HUDSON / Incontra + Hudson

Bamboo funziona alla grande; se hai soldi lo consiglierei. Cruise Control vale il suo prezzo; Non sono mai stato in grado di farlo scoprire in modo affidabile che le modifiche alla fonte sono state apportate e compilate, né sono stato in grado di farlo costruire manualmente. L'interfaccia e la configurazione sono orribilmente complesse.

Utilizziamo Cruise Control . Ha tutte le funzionalità che desideriamo ed è stato abbastanza facile da configurare. L'integrazione con ANT e SVN va bene.

Con: ogni tanto dobbiamo riavviare il processo o la macchina poiché smette di inviare messaggi per la build notturna. Non sono sicuro di cosa si tratti, ma è solo fastidioso.

come al solito nel mondo Java, c'è il mondo open source e il mondo commerciale.

Abbiamo già visto una copertura abbastanza buona delle varie offerte.

Hudson: non conosco un singolo altro server java che sia facile da valutare. java -jar hudson.war - quanto può essere facile? Non solo puoi usarlo su Windows, ma puoi usarlo su tutte le solite piattaforme Java. Sono supportati Ant, Maven e una serie di altre piattaforme di build.

La cosa migliore di Hudson è la capacità di plug-in. È stato sviluppato quasi continuamente. Chiedete una funzione e non ci vorrà molto per farlo.

Di solito non mi piace sembrare un fanboy, ma questa app / sviluppatore / community mi colpisce sicuramente.

BR,
~ A

Solo una parola sulla Matrice delle caratteristiche di integrazione continua : non è stato raccolto dalle persone di CruiseControl, era iniziato su CodeHaus del progetto DamageControl e si è trasferito nella wiki di CruiseControl quando DamageControl è andato in letargo. Le informazioni sono in gran parte gestite dai proprietari del progetto / prodotto o dai loro fan.

Sono contento di bamboo . Ho esaminato una serie di soluzioni gratuite prima di accontentarci.

Suppongo che sarò il primo a menzionare Luntbuild . A parte il nome poco accattivante, è un ottimo server CI.

  • Super facile da configurare.
  • UI Web per la creazione / gestione di progetti e utenti
  • Supporto per MOLTI sistemi di controllo versione (l'ho usato con CVS, SVN e StarTeam)
  • API remota piuttosto elegante
  • Granularità relativamente elevata per il controllo degli accessi (in modo da poter offrire ai clienti l'accesso solo alle loro build e non alle build dei client)
  • e molto altro ancora.

Dai un'occhiata alla Demo live . account / password demo / demo

Nota: la demo live presenta alcune versioni.

Abbiamo usato Cruise Control con risultati decenti. Da allora abbiamo iniziato a utilizzare Maven come strumento di creazione in tutti i nostri progetti. Con ciò è arrivato il passaggio a Hudson per CI che è molto bello. Se pensi che un passaggio a Maven potrebbe essere nel tuo futuro, lo consiglierei. Penso che Hudson possa anche essere usato per chiamare attività Ant anche se un wrapper Maven potrebbe essere in ordine.

http://hudson-ci.org/

Thoughtworks Cruise è la progenie commerciale di CruiseControl progetto open source. Sembra molto bello, molte funzionalità, build distribuite ecc. Non so che cos'è l'estensione.

Un'organizzazione che gestisco (openqa.org), una volta o l'altra, li ha usati quasi tutti. In termini di installazione semplice, scegli TeamCity o Bamboo. Ma in termini di affidabilità complessiva, potresti voler dare un'occhiata a Hudson. Mi piace davvero JetBrains, ma abbiamo scoperto che TeamCity è entrato in strani stati dopo un po ', rendendo le nostre build molto inaffidabili. Peccato, dato che adoro IDEA!

Abbiamo utilizzato Automated Build Studio e ne siamo rimasti piuttosto soddisfatti. È un'app di Windows, quindi sei bloccato su un server di build di Windows, ma il lato positivo è semplicissimo da configurare, mantenere e utilizzare. Costruisci il tuo processo dai componenti tramite punta e clicca e puoi utilizzare gli script se nessuno dei componenti soddisfa le tue esigenze.

Dei pochi che ho usato, Buildbot si distingue per essere il più potente e flessibile. Non è il più grazioso, tuttavia, se questo è importante per te.

Ho amministrato sia Bamboo che Hudson e consiglierei Hudson.

Sono entrambi fantastici, ma Hudson ha un miglior supporto per i rapporti, ad esempio pubblicare i rapporti sulla copertura, ecc. è molto più facile all'interno di Hudson.

Probabilmente questo cambierà nel prossimo futuro, ma nonostante l'integrazione di Bamboo con JIRA ecc. e le sue statistiche, Hudson, per facilità d'uso e supporto di terze parti, è migliore indipendentemente dall'importo del dollaro (è gratuito, Bamboo non lo è).

Usiamo anche Hudson e se non fosse la recessione, probabilmente useremmo Bamboo e la maggior parte dei prodotti Atlassian (Bamboo, Crucible, Confluence) insieme a JIRA.

Uso Continuum per il mio server di integrazione continua. Nessun motivo diverso da quello che avrei assunto un responsabile dello sviluppo che aveva usato nel suo ultimo incarico, quindi sembrava logico scegliere qualcosa con cui almeno uno di noi aveva esperienza.

Prima di scegliere Continuum, uno sviluppatore junior aveva trascorso due settimane a provare CruiseControl a funzionare. Tuttavia, abbiamo Continuum 1.0 da eseguire per primo.

Stiamo usando Zutubi Pulse e funziona benissimo per noi. È molto facile da usare la formica ha molte funzionalità avanzate.

Usiamo StarTeam e tra Hudson e CruiseControl.NET, CC.NET presenta alcuni bug durante l'integrazione con StarTeam. Non sembra riconoscere l'area di lavoro che definiamo nei file di configurazione.

L'anno scorso in una conferenza negli Stati Uniti ho sentito parlare per la prima volta di Cruise Control .net in una presentazione di 1 ora, mentre tornavo a casa nella pianura ho deciso di implementare un piccolo POC per la nostra azienda e l'ho fatto con successo in meno di 5 ore (incluso tutto l'apprendimento che avrei potuto fare).

Lo sto usando da allora e devo dire che sono molto soddisfatto dei risultati e della facilità d'uso, Ci sono alcuni inconvenienti (ad es. Mancanza di distribuzione delle attività su scala dei server sebbene sia possibile monitorare diversi server) ho trovato un bug in una delle implementazioni e poiché è un open source avrei potuto risolverlo molto rapidamente (grande vantaggio) - ho creato un piccolo [progetto] [1] in codeplex per contenere le mie correzioni prima di contribuire alla comunità come check-in. Ti incoraggio vivamente a guardare questa piattaforma, inoltre sarebbe bello poter dire ciò di cui hai effettivamente bisogno.

[1]: http://www.codeplex.com/DavidovitzCCE progetto

Dai un'occhiata al nostro Parabuild . Rispetto agli strumenti gratuiti, è molto facile da installare e il suo overhead di manutenzione è vicino allo zero. non è gratuito ma ottieni quello per cui paghi.

Perché non usi un servizio di hosting integrato ospitato, quindi non devi preoccuparti di manutenzione, costi ecc.

MikeCI è un servizio CI ospitato che ospita le tue build in Amazon EC2 e per soli $ 10 al mese è un molto meno costoso rispetto alla manutenzione del proprio server CI.

Provalo.

Prendi in considerazione un servizio CI ospitato gratuito su fazend.com . Supporta ant .

CruiseControl.NET è molto più efficace sui box Windows rispetto a quello originale basato su Java. Soprattutto quando il server di build dedicato non è ancora disponibile.

Potresti volerlo guardare anche

http://www.thoughtworks-studios.com/solutions/deployment-management testo del link

La soluzione di gestione della distribuzione ThoughtWorks combina la potenza di Twist (test Agile) con Go (gestione delle versioni).

  • Twist acquisisce i requisiti richiesti testato direttamente dagli utenti aziendali
    e quindi supporta la loro automazione come test a lungo termine che si evolvono con il applicazione.
  • Go aiuta lo sviluppo e Rilascio modello di team operativi IT
    elabora e distribuisce software
    ripetibilmente e in modo affidabile.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top