Home » Linux
Deploy heroku-style di un child theme WordPress su VPS via GIT 21/09/2019 Linux, Web Hosting, Wordpress Autore: Emilio Petrozzi
Ecco come effettuare in pochi passaggi un deploy heroku-style via GIT su un server dedicato oppure VPS. Come primo passaggio è indispensabile poter fare il login sul server remoto senza dover inserire username e password. In gergo si deve avere la possibilità di connettersi via SSH attraverso lo scambio di una chiave. Quindi generiamo la chiave e la carichiamo sul server remoto con i seguenti comandi, digitando la password quando richiesta:
utentelocale$ ssh-keygen utentelocale$ ssh-copy-id utenteremoto@serverremoto.com
Ci loggiamo sul server remoto e creiamo due repository git, uno per il deploy e l'altro nella cartella di destinazione sul server Web. SERVER REMOTO: Repository #1
$ mkdir /home/admin/deploy $ cd /home/admin/deploy $ mkdir oceanwp-child $ cd oceanwp-child $ git init --bare
Repository #2
$ cd /home/admin/web/sitoweb.it/public_html/wp-content/themes $ git clone file:///home/admin/deploy/oceanwp-child
Sul nostro server locale quindi creiamo un repository avente come origin il server remoto appena creato. SERVER LOCALE:
$ mkdir ~/deploy $ cd ~/deploy $ mkdir oceanwp-child $ cd oceanwp-child $ git init $ git remote add origin utenteremoto@serverremoto.com:/home/admin/deploy/oceanwp-child $ git config branch.master.remote origin $ git config branch.master.merge refs/heads/master $ git pull $ git push origin master
I passaggi precedenti possono essere ripetuti su tutti i server locali che si desidera, dando la possibilità a più sviluppatori di poter collaborare allo stesso progetto. A questo punto quello che manca è uno script bash che sia in grado di copiare l'ultima versione del codice, quella appena caricata su “origin master”, dal repository GIT sul server remoto alla cartella servita da Apache/Nginx dello stesso server. In particolare bisognerà creare lo script post-receive all'interno della cartella hooks “hooks/post-receive” del repository "deploy" sul server remoto. Lo script nel nostro caso somiglierà a qualcosa di questo tipo: SERVER REMOTO:
$ cd ~/deploy/oceanwp-child/hooks $ nano post-receive
#!/bin/bash
#CONFIGURAZIONE DESTINAZIONE="/home/admin/web/sitoweb.it/public_html/wp-content/themes/oceanwp-child/" read oldrev newrev refname if [ $refname = "refs/heads/master" ]; then echo "===== deploy del nuovo sito in corso =====" unset GIT_DIR cd $DESTINAZIONE git pull origin master echo "===== tutto fatto =====" fi
$ chmod +x post-receive
Grazie a ciò lo script bash remoto ad ogni push effettuato localmente verso il server remoto ci segnalerà tra l'altro se l'aggiornamento è stato eseguito con successo o meno.
Condividi l'articolo...
Autore articolo: Emilio Petrozzi Creazione siti web dinamici e di commercio elettronico, assistenza WordPress, ottimizzazione per motori di ricerca, campagne pubblicitarie web, sicurezza informatica. Esperienza ultra ventennale. Articoli pubblicati da Emilio Petrozzi | Sito Web
Tags: backup wordpress,deploy wordpress
Lascia un commento Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati * Commento
Nome *
Email *
Sito web
Do il mio consenso af nché un cookie salvi i miei dati (nome, email, sito web) per il prossimo commento.
PUBBLICA IL COMMENTO
Current ye@r * 5.5
Aricoli correlati
Backup, criptaggio e salvataggio su un Rclone, criptare e salvare su Yandex server remoto di un sito WordPress
Disk i propri backups
Installazione e con gurazione di WordPress attraverso WP-CLI
Co n t a t to S ky p e Chi Sono Emilio Petrozzi Siti Web WordPress Tel. Mobile 3205754844 Tel. Fisso 0776811856 Email info@mrtux.it
Social
Email di supporto Privacy Policy Cookies
© 2002-2019 MrTux.it Emilio Petrozzi P. I.V.A. IT03080230604 - Professionista ai sensi della Legge 4/2013