Sei sulla pagina 1di 4

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 Installazione e con gurazione di
server remoto di un sito WordPress Disk i propri backups 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

Potrebbero piacerti anche