2010-02-11 32 views
8

Sto usando PHPUnderControl (un plugin Cruise Control per PHP) come server CI per lo sviluppo PHP. Uso Ant per costruire il mio progetto. Caratteristiche principali utilizzate di PHPUC sonoCruise Control come PHPUnderControl contro Hudson per PHP

  • recensione di test PHPUnit
  • recensione PHPCS
  • diagrammi, PHP PMD, PHPCPD e un po 'misc. cosa.

Quali sono i vantaggi di Hudson rispetto a PHPUC? Ho sentito che lo sviluppo è più veloce e più utilizzato giorno dopo giorno.

+0

* (sidenote) * Esiste anche un puro server CI PHP: http://www.arbitracker.org – Gordon

+0

Dai un'occhiata alla mia recente taglia per qualche input. http://stackoverflow.com/questions/2180460/setting-up-a-deployment-build-ci-cycle-for-php-projects –

risposta

16

Siamo passati da PHPUC a Hudson circa un anno fa e sicuramente ci siamo divertiti. Uno dei principali vantaggi è la facilità con cui si creano e modificano i progetti poiché tutto avviene attraverso una bella interfaccia utente Web, senza problemi nei file di configurazione XML. Inoltre, non è necessario riavviare Hudson dopo aver modificato le impostazioni, quindi ho trovato molto più semplice e veloce iterare su un progetto.

Un'altra cosa che mi ha davvero impressionato di Hudson è stato quanti problemi è in grado di rilevare e segnalare per voi. Ad esempio, più di una volta con PHPUC la build ha smesso di funzionare in modo tale che l'XML phpunit non fosse più generato, ma PHPUC ha usato felicemente i vecchi risultati per giorni o settimane fino a quando non ci siamo resi conto. Hudson lo ha sottolineato subito dicendo che il file di registro non era stato toccato da quando è iniziata la compilazione! Quando configuri anche i progetti nell'interfaccia utente web, ti dirà se le directory/posizioni SCM non esistono mentre digiti, e offri suggerimenti google-esque su cosa intendi, individuando i problemi prima ancora di salvare la configurazione! Inoltre se si costruisce periodicamente con una voce di cron come "* 4 * * *" dirà "intendevi veramente ogni minuto di 4, o intendi '0 4 * * *'?"

Detto questo, mentre l'ecosistema community e plugin è ricco, Hudson è anche più generico di PHPUC quindi non è strettamente integrato nei progetti PHP, ma può pubblicare felicemente report di copertura del codice e report phpdoc (e qualsiasi report HTML) tramite plugin.

Inoltre, non dimenticare che se una soluzione (PHPUC) non viene interrotta, potrebbe non essere necessario correggerla. Tuttavia, puoi facilmente valutare Hudson per le impressioni iniziali scaricando il file .war ed eseguendo "java -jar hudson.war" e eseguirai un'istanza in meno di un minuto.

Nel complesso mi sento di aver fatto il nostro costruisce e implementazioni più robuste e ripetibili, cattura gli errori più veloce, e anche velocizzando molte attività (è possibile installare gli schiavi per se stessa tramite SSH e distribuire i lavori o eseguirli contemporaneamente!)

+0

Ben spiegato, grazie. – erenon

2

Hudson è un bel Ui e può essere configurato per il 99% del tempo attraverso il webui. L'ultima volta che ho guardato il cruise control, hai dovuto annusare in vari file xml.

+0

La configurazione tramite xml è ancora in CC AFAIK. – erenon

Problemi correlati