Svn sync alla cartella su commit
Domanda
Ho una cartella www esplosa contenente il mio intero sito Web PHP.
Mi chiedo se qualcosa di simile è possibile:
- .
- Gli sviluppatori non funzionano direttamente sui file
- Le modifiche vengono testate localmente o su un server di stadiazione
- svn si impegna a trigger Un evento che sincronizza le ultime modifiche apportate al repo, alla cartella www
Ho sentito parlare degli strumenti svnsync / svnexport, ma come posso attivarli su commessi o renderli "ascoltando" al mio repo?
Inoltre, possono aggiornare solo i file modificati?Il mio repo è molto grande.
Soluzione
Persone lo fanno così spesso che è in la perdice di subversion ufficiale
Versione breve:
- .
- Effettuare la directory
www
a una copia di lavoro - Creare un gancio post-commit che esegue
svn update
contro quella copia di lavoro. - Creare una copia di lavoro sul server repository o un server intermedio
- Creare un gancio post-commit che esegue
svn update
contro quella copia di lavoro -
rsync
che funzionante copia sul tuo server Web (questo potrebbe essere parte dello script del gancio post-comit)
Se il server del repository non ha accesso diretto al server Web (che non dovrebbe), starai meglio con questo:
- .
Eppure Un'altra opzione dovrebbe utilizzare un server di integrazione continuo per monitorare le modifiche del repository e distribuirle. In effetti, è il modo migliore per andare per la maggior parte dei negozi. Utilizzare il server CI per aggiornare un server di stadiazione e quindi premere solo al server Live dopo il completamento del test. Allora i tuoi sviluppatori funzionerà solo in una copia di lavoro locale e privata a loro.