Domanda

Gestisco il mio blog usando Wordpress e troppo recentemente sono diventato un grande credente in SCM. Voglio davvero mettere il mio sito in sovversione (è quello che sto usando in questo momento, forse Git arriverà più tardi) ma non riesco ancora a pensare al modo corretto di farlo ancora. Fondamentalmente, il mio repository è attualmente impostato con una directory di 'implementazione' e una 'risorsa', con l'implementazione che contiene ciò che alla fine verrà pubblicato sul sito live. Voglio poter visualizzare in anteprima il mio sito localmente senza dover caricare sul server per ovvi motivi. Tuttavia, per fare ciò ho scoperto che dovevo effettivamente installare Wordpress localmente (non solo copiare il sito remoto nella mia casella locale). Questo mi è stato detto su Wordpress.org.

Questo solleva il problema di poter usare SCM con l'installazione perché ogni tanto devo aggiornare il mio sito locale ma questo genera incoerenze con la sovversione perché non riesce a tracciare ciò che sta accadendo perché un sistema esterno sta pasticciare con la sua struttura di repository. Non funzionerà.

La mia inclinazione iniziale è quella di provare a SCM solo le mie informazioni sul tema in quanto questa è davvero l'unica cosa che "possiedo" mentre tutto il resto è davvero solo parte della mia piattaforma (non diverso da Apache o PHP, davvero). Tuttavia, è qui che la mia comprensione si interrompe. Come posso selezionare in modo selettivo SCM solo una parte di quella struttura di directory e come posso mantenere la configurazione di Wordpress su cui mi trovo?

Sono sicuro che altre persone hanno affrontato questo problema e la soluzione è probabilmente applicabile a molte app simili a Wordpress (Drupal, phpBB, phpMyAdmin, ecc.). Quindi, come si fa?

È stato utile?

Soluzione

In realtà non è così difficile da fare, ma lo analizzerò in alcuni suggerimenti qui. Quello che stai descrivendo è più o meno un "drop fornitore" " directory. Questo è fondamentalmente il punto in cui gestisci il codice in SVN, ma sostituisci i contenuti con le cose più recenti man mano che vengono fuori.

Quello che dovresti iniziare è una directory vuota. Configurare un repository SVN, quindi eseguire un checkout SVN nella directory vuota (sarà comunque vuota, tranne per il fatto che verrà aggiunta una directory nascosta .svn). Quindi, installa wordpress qui normalmente, quindi aggiungi i suoi file a svn. Probabilmente puoi semplicemente " svn aggiungere * " ma fai attenzione e rimuovi tutto ciò che non desideri venga aggiornato (directory uploads / temp / cache, se applicabile). Puoi anche usare la proprietà svn: ignore per dirgli di ignorare determinate directory o tipi di file, se lo desideri. Esegui " svn stat " per mostrarti cosa verrà archiviato, ecc. e, una volta che tutto è andato a buon fine, commettilo (svn commit) e inizia a lavorare da lì. Ora hai un'installazione base di wordpress in SVN.

Mentre lavori e apporti modifiche, impegnale.

Quando arriva il momento di aggiornare, sostituisci semplicemente wordpress sopra quello che hai. Assicurarsi che quando si sostituiscono le directory, si sostituiscono i contenuti e non l'intera directory stessa. Non vuoi perdere la cartella nascosta .svn in ogni cartella perché è quello che rovinerà la sovversione. Esegui uno svn stat e / o svn diff per capire cosa è cambiato, se non altro, e soprattutto cosa è stato appena aggiunto. A questo punto, puoi impegnarti di nuovo.

Per eseguire la distribuzione sul sito di produzione, è possibile eseguire un'esportazione svn o effettuare un checkout regolare nella directory Web. Se esegui un checkout, assicurati di aggiornare solo quando sei pronto per la distribuzione.

Altri suggerimenti

Questo è il metodo che sto testando. Ci vuole del tempo per l'installazione ma dovresti (in teoria) avere un'installazione a prova di futuro:

Installazione di WordPress nel modo giusto

Guarda anche svn: externals per inserire gli aggiornamenti dei plugin:

Usa svn: externals per installare i plugin di WordPress

Penso che la parte di aggiornamento possa anche essere un po 'più semplice di così; Faccio questo con la versione più recente di 2.5 e 2.6, nonché con la revisione del trunk all'avanguardia di WP.

Dato che Wordpress offre tutte le loro cose come repository di sovversione, ottenere l'attuale rev di un tag stabile è facile come creare la directory del blog e quindi

# svn co http://svn.automattic.com/wordpress/tags/2.6.2/ (replace the current rev here for the first check out).

Quando è disponibile un aggiornamento, vai alla directory del tuo blog ed esegui

#svn sw http://svn.automattic.com/wordpress/tags/2.6.3/ (or whatever wordpress rev you're updating to)

Quindi rilasciare sul tuo sito di produzione è solo un'esportazione, come menzioni di Gregreg in Tuttavia, non credo che questo risponda alla tua vera domanda, che interpreto come "Come posso mantenere le mie cose personalizzate in SCM mentre riesco ad aggiornare Wordpress". Il tuo istinto su quali directory affrontare è praticamente l'obiettivo (le cose del tuo blog personale - temi, pplugins - saranno nel contenuto di wp, quindi dovresti solo metterlo in sovversione) ma non sono abbastanza esperto con la sovversione per dirti come posizionare la directory nel tuo repository pur essendo in grado di fare affidamento sul repository di Wordpress per gli aggiornamenti. Mio " SCM " per quei file sul mio sito è una copia off-server della directory wp-content.

Forse da quel punto di vista la risposta di gregmac funziona meglio per te.

  

La mia inclinazione iniziale è quella di provare a SCM solo le mie informazioni sul tema in quanto questa è davvero l'unica cosa che "possiedo" mentre tutto il resto è davvero solo parte della mia piattaforma (non diverso da Apache o PHP, davvero). Tuttavia, è qui che la mia comprensione si interrompe. Come posso selezionare in modo selettivo SCM solo una parte di quella struttura di directory e come posso mantenere la configurazione di Wordpress su cui mi trovo?

Questo è esattamente il modo in cui controllo la versione del mio blog. Ho scoperto che funziona benissimo. In generale, se stai modificando i file di WordPress, lo stai facendo in modo sbagliato e ti sentirai infelice quando è il momento di aggiornare.

Per semplificare questo, uso TortoiseSVN. Sono passato alla mia directory / wp-content / themes / in Esplora risorse, ho fatto clic con il pulsante destro del mouse sulla directory del mio tema personalizzato e ho scelto importa dal menu di scelta rapida. Dopo aver importato tutti i file esistenti, ho eseguito un checkout su quella directory e tutto è stato impostato.

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