2010-04-01 15 views
5

Desidero avviare l'automazione di più del mio processo di sviluppo Web, quindi sto cercando un sistema di generazione. Scrivo principalmente app PHP su Mac OS X e distribuisco server Linux su FTP. Molti miei clienti hanno provider di hosting di base, quindi l'accesso alla shell ai loro server non è in genere disponibile, tuttavia è solitamente presente l'accesso remoto a MySQL. Ecco quello che voglio fare con un sistema di compilazione:Sistemi di compilazione per applicazioni Web PHP

  • Quando costruzione:
    • Lint JavaScript file
    • Convalida CSS file
    • Convalida HTML file
    • Minify e concatenare JS e CSS file
    • Verifica sintassi PHP
    • Imposta flag Debug/Produzione
  • durante la distribuzione di
    • Checkout ultima versione da SVN
    • processo di compilazione
    • Run
    • caricare file sul server via FTP
    • script Esegui SQL in remoto DB

Mi rendo conto che questo è molto lavoro da automatizzare, ma penso che sarebbe un problema questo Quindi qual è il modo migliore per iniziare questo percorso? Esiste un sistema in grado di gestire build e distribuzioni oppure devo cercare soluzioni separate? Quali sistemi consiglieresti?

+0

Potresti anche essere interessato alla mia domanda di taglie recente: [Configurazione di un ciclo di distribuzione/build/CI per progetti PHP] (http://stackoverflow.com/questions/2180460/setting-up-a-deployment-build -ci-ciclo-per-php-progetti) –

risposta

6

Tutto quello che chiedete può essere fatto con Phing

Phing è un framework di distribuzione scritto in PHP e modellato su Apache Ant. Viene fornito con un ampio set di attività di distribuzione pronte per l'uso, compresa la distribuzione del database, i trasferimenti di file remoti e la connettività VCS. Se ti manca la funzionalità, puoi estendere Phing con PHP standard.

Phing fornisce le seguenti funzionalità:

  • semplici buildfiles XML
  • ricco insieme di compiti previsti
  • facilmente estensibile tramite classi PHP
  • indipendente dalla piattaforma: funziona su UNIX, Windows, MacOSX
  • Nessuna dipendenza esterna richiesta
  • Costruito & ottimizzato per ZendEngin e2/PHP5
3

Si potrebbe anche voler dare un'occhiata a Hudson, un server di integrazione continua estendibile. Le funzioni supportate sono disponibili here.

Tra gli altri linguaggi, supportava PHP. This article presenta alcuni ottimi plugin per PHP. L'articolo suggerisce anche Phing per la build. Vedi la risposta di Gordon per i dettagli.

Problemi correlati