Domanda

Sto pensando di aggiornare le mie pratiche e sto cercando un piccolo aiuto e un consiglio!

Faccio molto lavoro su siti che eseguono joomla, oscommerce, drupal ecc. e così ho creato molti componenti / plugin e hack personalizzati ecc. Attualmente ogni sito ha la sua cartella sulla mia configurazione di xampp. Quello che vorrei fare è avere una configurazione predefinita (ad esempio) di una configurazione di Joomla e quando apporto modifiche, posso fare qualcosa che aggiorna tutte le altre cartelle che contengono joomla, quasi come un aggiornamento automatico?

Sto anche cercando di utilizzare Aptana IDE di più e il servizio SVN come unfuddle per condividere il mio lavoro con gli altri, ma Non ho usato SVN prima e non sono sicuro se è possibile fare quanto sopra usando SVN?

Sarebbe bello poter lavorare su un elemento principale / principale e inviare gli aggiornamenti sia agli aggiornamenti locali che ai server effettivi, senza dover mantenere molti singoli siti diversi.

Suggerimenti?

È stato utile?

Soluzione

Sì, SVN sarebbe un ottimo strumento per questo scopo. Memorizza il tuo codice (ad esempio: un componente Joomla personalizzato) nel controllo del codice sorgente. Ovunque tu voglia usare quel componente, fai semplicemente un checkout o export di quella particolare cartella nel tuo sito live. Ecco un modo per strutturare il tuo repository:

unfuddle.com/myRepo/trunk/com_myComponent
unfuddle.com/myRepo/trunk/com_anotherComponent

Accedi al tuo server live tramite SSH ed esegui questo comando:

> cd path/to/joomla/components
> svn co http://unfuddle.com/myRepo/trunk/com_myComponent

Ogni volta che modifichi il codice, esegui il commit delle modifiche, quindi accedi nuovamente al server ed esegui:

> cd path/to/joomla/components
> svn up com_myComponent

Un vero vantaggio di questo è che se dovessi fare un aggiornamento e rompere qualcosa, puoi sempre riportarlo all'ultimo "buono" noto. versione.

Per quanto riguarda l'automazione di questo processo, potresti essere sfortunato se si trova su server diversi. Per più distribuzioni sullo stesso server, è possibile scrivere facilmente uno script di shell per eseguire i comandi sopra riportati per ciascun sito / componente. Se avessi bisogno di questo per essere completamente automatizzato, potresti persino impostare un cron job per eseguire questo script ogni giorno alle 2 del mattino o qualcosa del genere - personalmente mi atterrei all'approccio manuale, ma è ancora un'opzione.

Per lavorare localmente con i tuoi repository SVN, ti consiglio di guardare TortoiseSVN (se sei su Windows): è il modo più semplice e facile per lavorare con SVN.

Altri suggerimenti

Per automatizzare le cose, potresti usare ganci SVN per questo. Esiste un hook post-commit, quindi ogni volta che esegui un commit, lo script hook può dire alle altre macchine di fare un aggiornamento SVN per ottenere l'ultimo codice.

Per ulteriori informazioni, vedere Controllo versione con Subversion - Implementazione di hook di repository .

Non ho una buona risposta per la tua situazione, ma non credo che Subversion sia la risposta da sola.

Questa domanda risolve alcune delle preoccupazioni relative ai meccanismi di Subversion per la condivisione tra "progetti".

Subversion può certamente gestire la parte di gestione del codice sorgente di questo puzzle. La distribuzione automatica, beh, userei un altro strumento.

Guarda Capistrano . L'ho usato un paio di volte e una volta capito, è abbastanza buono. Rivolto a binari ma dovrebbe funzionare per qualsiasi cosa in cui sia necessario ottenere il codice da un repository e distribuirlo su server diversi.

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