Usa Git con WordPress grazie a Revisr

Sviluppare con WordPress è una cosa fantastica, abbiamo gli hook, possiamo personalizzare la grafica grazie ai temi e aggiungere funzionalità con dei semplici plugin. Sembra che ci sia quasi tutto, anche se a volte si sente una certa mancanza nei confronti del deploy e dei backup di questa piattaforma...

Contenuti Extra

Quello di cui parleremo quest’oggi è un innovativo plugin che ci permetterà di facilitare il nostro sviluppo, aggiungere un layer di sicurezza grazie alla possibilità di fare costanti backup e la cosa più bella (almeno dal mio punto di vista) è quella di poter gestire tutto dalla classica dashboard WordPress!

Questi sembrano tutti punti a favore per un plugin come Revisir ma dal mio punto di vista ci porta di fronte anche a dei limiti.

Limiti non tanto dovuti alle potenzialità del plugin ma piuttosto dalla tua conoscenza del sistema di controllo versione Git. Qualche tempo fa ho provato ad introdurti al concetto e ai vantaggi di questo CVS con un articolo dedicato e recentemente stiamo terminando la pubblicazione di un corso specifico su skillsAndMore.

Quello che voglio fare oggi invece è fare un salto, ignorare in un certo modo le conoscenze Git di cui avrai bisogno, ed entrare nel vivo della gestione del tuo blog attraverso questo plugin. Che ne dici? La cosa ti interessa?

Allora non esitare e continua a leggere!

Precedentemente ho parlato anche di backup e questo perché Revisr ci permette allo stesso tempo sia di avere un CVS che fare i backup del nostro WordPress in modo globale! Questo è possibile grazie a questo potente plugin che sfrutta le caratteristiche di Git in modo veramente intelligente.

Quando abbiamo affrontato l’argomento WordMove la cosa che mi aveva sbalordito più di tutte è che questo plugin era in grado anche di trasferire il database dalla mia installazione locale a quella presente online.

Capisco che a primo acchito può sembrare una cosa di poco conto, alla fine se non si conosce bene il funzionamento di MySQL non ci poniamo neanche il problema, ma ti assicuro che lo è; o meglio detto lo può essere… Questo perché all’interno dei database WordPress viene salvata anche la URL di installazione della piattaforma stessa e quando ci troviamo a spostare un sito da una parte locale ad una online il più delle volte è una cosa che ci fa penare.

Ultimamente potresti anche sfruttare uno dei recenti articoli in cui ti ho mostrato come preparare dei Virtual Host per il tuo Apache in modo da poter lavorare con lo stesso dominio anche sulla tua macchina in locale. Questo facilita il trasporto da locale a remoto, ma non sempre è una soluzione adatta…

Grazie a Revisr invece tutti questi passaggi possono essere automatizzati ogni volta che decidi di fare un salvataggio o di scaricarne uno da un repository remoto, cosa che mi piace moltissimo anche perché (come dicevo prima) tutto avviene all’interno della dashboard WordPress 😀

Che Cosa è Revisr

Ebbene… È un plugin, ma forse questo l’avevi già capito 🙂

È un plugin che permette di sincronizzare il tuo WordPress con un repository Git (locale o remoto nn fa differenza)… Ma aspetta, avevo già detto anche questo!

revisr

Però sono sicuro che non ti avevo ancora detto che con questo plugin puoi traquillamente gestire diverse branch del tuo sviluppo, quello proprio non mi era ancora scappato 😀

Personalmente sono uno sviluppatore che soltanto da qualche anno ha imparato ad apprezzare le potenzialità del terminale, della propria riga di comando, e devo dire che ha velocizzato di gran lunga il mio sviluppo. Applicazioni come Grunt mi hanno permesso di entrare in contatto diretto con le applicazioni che ho installate nel mio sistema e di scoprirne di nuove senza dover perdere tempo ad imparare le GUI che gli sviluppatori si divertono a disegnare.

Però bisogna anche valutare passo passo quali sono gli strumenti che ci facilitano e velocizzano la vita.

Ti ho parlato del terminale perché in fin dei conti un repository Git si può gestire tranquillamente attraverso questo strumento, ma nel contesto di questo articolo ti voglio parlare di come farlo con Revisr perché mi permette di avere gli stessi strumenti all’interno di WordPress (applicazione all’interno della quale passo la maggior parte del mio tempo, ovviamente quando non sviluppo).

dashboard-revisr

Con la precedente immagine ho voluto mettere in risalto la comoda dashboard proposta da Revisr, non pensi anche tu che sia veramente carina e funzionale?

In fin dei conti offre tutto quello di cui abbiamo bisogno direttamente ad un click di distanza. Possiamo salvare e rifiutare i cambiamenti non ancora inseriti nella staging area, possiamo fare un backup del database e possiamo addirittura tirare o spingere i cambiamenti da/verso un repository remoto.

Ovviamente per fare tutte queste operazioni ci sono due cose che dovrai fare:

  • avere installato Git sul tuo sistema;
  • avere un server AMP (come ad esempio MAMP) e indicare dove è installato il tuo MySQL.

Se sviluppi con WordPress sono sicuro che il secondo punto è soddisfatto, però non lo sono tanto del primo… Oltre a questo, se hai intenzione di utilizzare un repo remoto dovrai anche conoscere i dati necessari al suo collegamento; ma non ti preoccupare troppo di questa cosa al momento, ti mostrerò a breve come tutto questo sia possibile.

Crea il tuo Primo Repo

Creare un repo è una cosa semplice di per sé, ma grazie a Revisr è ancora più semplice 😀

crea-repo-revisr

Un semplice link per creare il tuo primo repository Git, mica male come risultato non credi? Però forse sto correndo un po’ troppo…

Ti ricordo che in questo articolo troverai termini come repository, add, commit, push e pull perché sono azioni e caratteristiche presenti all’interno di un qualsiasi sistema di controllo versione, se non ti ricordi bene questi concetti ed hai bisogno di rinfrescarti la memoria ti ricordo che puoi trovare un articolo a riguardo.

Questo perché, una volta cliccato il link che ti ho messo in evidenza, verrai accolto da una finestra di configurazione che ti permetterà di aggiungere alcune specifiche come il nome utente e l’email della persona che invierà i cambiamenti nel repository.

Crea il tuo Primo Commit

Una volta creato il proprio repository il passaggio successivo è salvare i cambiamenti effettuati al suo interno con un bel commit. Grazie ad una GUI ben fatta sarai in grado di creare un commit sia cliccando sul notice che appare nella Dashboard del plugin oppure su quel bel bottone verde che ti ho messo in evidenza precedentemente.

revisr-commit

Sfruttando le sezioni della bacheca di WordPress puoi creare facilmente un commit, quando l’ho visto mi sn sentito subito a casa 😀 Come puoi notare tu stesso, oltre ad inserire un messaggio per il commit, puoi decidere di inserire o meno i file nel salvataggio (in modo da separarli per messaggi di commit più precisi), fare il backup del database e addirittura inviare il tuo commit sul repo remoto attraverso una push.

Insomma, con un plugin gratuito hai tutte le funzionalità essenziali per gestire completamente un repository, potrai addirittura aggiungere delle tag che verranno sincronizzate con lo stesso repository 😀

Configura un Repo Esterno

Ovviamente l’utilità nell’avere un sistema di controllo versione sarebbe alquanto inutile se fossimo soltanto noi i suoi utilizzatori; beh nn è del tutto vero perché Git è utilissimo anche se siamo gli unici sviluppatori… Però quando si lavora in compagnia si lavora più volentieri 😀

Ed in effetti è proprio questo quello che mi ha spinto a scrivere l’articolo precedente, presentandoti GitHub e BitBucket la mia speranza è stata quella di farti conoscere un nuovo strumento che inserisce un po’ di social alla tua vita da sviluppatore.

Ma come ti ho presentato nel corso dedicato su skillsAndMore, molto spesso un repository si gestisce da terminale e anche se è un sistema veloce e preciso, non sempre è la soluzione più intuitiva. Ecco perché gli sviluppatori di Revisr hanno deciso di implementare questa funzionalità direttamente all’interno della bacheca WordPress!

revisr-remote

La configurazione di un repository remoto è una cosa incredibilmente semplice, praticamente l’unica cosa che dobbiamo fare è inserire l’indirizzo SSH con il proprio nome utente e password (da inserire ovviamente al posto di [password]) ed il gioco è fatto 😉

La configurazione permette anche di inserire un nome al proprio remoto, nel caso in cui lo avessimo cambiato in corso d’opera, e anche di inviare automaticamente i nuovi push e di scaricare i nuovi commit con i classici pull.

Ebbene anche questo tipo di configurazione è abbastanza semplice e diretto, se incontri qualche problema il mio consiglio è quello di andare a consultare le pagine specifiche all’interno della documentazione di Revisr.

Fai un Backup al Database

Eccoci ad affrontare un argomento tanto interessante quanto utile, sopratutto quando parliamo di CMS, ovvero la possibilità di salvare le versioni del proprio database in modo tale che quello che abbiamo in remoto è completamente sincronizzato con la versione locale.

Come scritto anche in un articolo apparso sul blog di VersionPress (un’alternativa a pagamento di Revisr) con il plugin che ti sto presentanto oggi non è possibile fare un merge dei database, non è possibile integrare soltanto le differenze, ma c’è comunque da dire che come funzionalità non è affatto male!

Praticamente ci permette di fare la stessa cosa che abbiamo visto con WordMove, ovvero possiamo sincronizzare i due database sostituendo automaticamente il dominio di installazione, ma la cosa interessante di questa soluzione è che il tutto verrà tracciato all’interno del nostro repository andando a creare diversi commit.

revisr-database

La cosa interessante di Revisr è che va a creare un file .sql per ogni singola tabella del nostro database, in questo modo sarà più semplice importarli all’interno del nostro server e la loro grandezza sarà minore. A questi vantaggi va anche aggiunto quello che potremo aggiornare soltanto la tabella che è stata realmente modificate senza doversi preoccupare troppo delle altre.

Allo stesso tempo ho preferito inserire l’immagine precedente perché volevo mettere in evidenza che i vari file .sql sono presenti all’interno della cartella uploads/revisr-backups/ senza farti perdere del tempo (come è successo al sottoscritto) alla ricerca di questi file…

Devo confessarti che nei miei test ho avuto qualche problema a far funzionare il backup del database, ma soltanto perché Revisr non sapeva dove andare a trovare l’eseguibile MySQL. Una volta seguite le istruzioni che mi hanno permesso di configurare il sistema con MAMP, tutto è filato liscio.

Conclusioni

Sei giunto al termine di un altro articolo, ti faccio i miei più sentiti complimenti! Spero che l’argomento di quest’oggi ti abbia dimostrato quanto sia importante Git per il tuo lavoro e con la scoperta di questo plugin spero proprio che inizierai ad utilizzarlo più frequentemente!

In fin dei conti, Revisr potrebbe anche essere semplicemente usato come plugin per il backup dato che ci permette di avere una copia del nostro codice facilmente integrabile (in fin dei conti si tratta semplicemente di clonare un repository) sia che del nostro database.

Sono veramente molto curioso di sapere che cosa ne pensi di questo plugin e di come lo stai utilizzando nel tuo lavoro. Hai altre soluzioni con le quali ti trovi bene? Non esitare ad aggiungere all’interno dei commenti, la condivisione aiuta la conoscenza 😀

Lascia il tuo Pensiero