[Php-it] [PHP-IT] svn phing, tecniche e metodi di rilascio

Francesco Tassi tassi.francesco at gmail.com
Wed Aug 1 13:09:03 CEST 2007


Ciao

Mi piacerebbe discutere, sperando nel contributo di chi ha più
esperienza di me, sulle procedure di rilascio e sul modo migliore di
ottimizzare la gestione dei progetti php.

Al momento gli sturmenti che uso sono

eclipse
svn
phing

I progetti che ho in eclipse sono niente altro che le copie di lavoro
dei repository svn. Tramite phing poi ho automatizzato i rilasci che
sostanzialmente sono fatti da queste operazioni:

export del repository che mi interessa da SVN in una dir temporanea
replace dei token (questo mi è particolarmente utile per i parametri
che cambiano tra test e produzione)
backup dei file attuali di progetto (per fare un rollback in caso di
problemi) (rinomino da www www_old ad esempio)
rinomino la dir temporanea da www_temp a www (ad esempio, assumendo
che www sia la root del progetto).

Eventualmente posso aggiungere backup del db ed esecuzione di query
sul nuovo db (se ad esempio devo cambiare dei parametri di
configurazione o se devo fare degli aggiornamenti alla struttura) se
servono.

Con phing ho anche automatizzato dei task che fanno copie locali di backup.

Avendo accesso ssh alle macchine di solito copio i file per il
rilascio (il build.xml e i file di prop di phing) sulla macchina, e
poi lancio phing da remoto. In questo modo ho lo svantaggio che prima
di far partire il rilascio devo portare sul server  i  file necessari
(di solito faccio un svn export della dir che li contiene, dato che
anche i file di phing sono sotto svn), ma  ho il vantaggio di essere
indipendente dalla mia postazione locale(tutto quello che serve è sul
server).
Dato che php non va compilato, ma i rilasci si riducono a copie di
file esecuzione di query, ed eventualmente unità di test penso che
fare tutto direttamente sul server non sia un gran problema (cosa
diversa sarebbe compilare  i sorgenti sul server ad esempio).

Ci sono degli errori nella procedura? o delle cose che possono
diventare più efficienti?
Qualcuno usa metodi radicalmente diversi?

Grazie e ciao

Francesco


More information about the Php-it mailing list