Domanda

Attualmente utilizziamo uno script di installazione e configurazione a rotazione manuale e uno script di integrazione continua a rotazione manuale per creare e distribuire la nostra applicazione. Sto cercando di formalizzare questo in qualche modo con un sistema di terze parti progettato per questi scopi.

Ho già esaminato Phing e capisco che è praticamente come Ant. Ma la mia esperienza con la formica è piuttosto limitata, quindi non mi aiuta molto. (La maggior parte del lavoro Java che ho svolto è stato appena distribuito come file jar).

Ho già esaminato Cruise Control in precedenza e capisco che phpUnderControl è un plug-in per CC. Ma Phing dice che funziona anche con CC. Quindi non sono chiaro sulla sovrapposizione qui. Ho bisogno che sia Phing che phpUnderControl funzionino con CruiseControl o si escludono a vicenda?

Quello che mi serve esattamente è qualcosa che possa:

  • Scopri l'origine da SVN
  • Installa il database dal file SQL
  • Genera alcuni file di configurazione locali da una serie di modelli e un file ini
  • Esegui tutti i nostri test unitari (attualmente ST, ma è facile convertirli in PHPUnit) e invia un'email al team di sviluppo in caso di interruzione dei test (con una traccia dello stack ovviamente)
  • Genera documentazione API per l'applicazione e mettila da qualche parte
  • Esegui un rapporto sulla copertura dei test

Ora, abbiamo quasi tutto questo in un modo o nell'altro. Ma sarebbe bello avere tutto automatizzato e raggruppato insieme in un unico processo.

È stato utile?

Soluzione

phing è praticamente una formica scritta in PHP dove phpUnderControl aggiunge il supporto per i progetti PHP a CruiseControl e usa phing o ant sul back-end per analizzare il file build.xml ed eseguire i comandi.

Ho appena impostato CruiseControl e phpUnderControl e ha funzionato alla grande. Controlla il mio SVN, lo esegue tramite phpDocumentor, PHP_CodeSniffer e PHPUnit ogni volta che effettuiamo un check in. Dato che è tutto basato sul file build.xml puoi eseguire praticamente qualsiasi software tu voglia attraverso di esso.

Altri suggerimenti

Sono sicuro che molte persone lo diranno quando lo avrò scritto ma ...

So che non è PHP ma stiamo trovando Capistrano proprio il lavoro per questo tipo di cose. È davvero un eccellente software.

Abbiamo usato Phing e il costo per configurarlo è stato molto basso; è davvero facile da imparare anche se non conosci ANT. Ho avuto pessime esperienze con CruiseControl (instabilità - scendendo casualmente) - quindi mi piace la semplicità di Phing. Inoltre, è facilmente estensibile tramite PHP (nel caso in cui tu abbia un'attività personalizzata che non supporta immediatamente).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top