Passa ai contenuti principali

Prestashop: deploy automatico


Per i nostri clienti abbiamo messo in piedi il deploy automatico del sistema da locale al server remoto.
Il deploy automatico permette di semplificare la messa in produzione dell'e-commerce in quanto lavorando in locale si ha maggiore velocità di risposta e soprattutto si ha la possibilità di effettuare prove e test velocemente.
Per il deploy dei files abbiamo utilizzato rsync escludendo le direcory che non servono come la cache e etc...
Per il deploy del db abbiamo effettuato il dump del db, spostato su server il dump e ricostruito completamente il db.
Inoltre abbiamo anche effettuato l'aggiornamento della tabella ps_configuration con il dominio corretto e non più relativo al server locale.
Questo è lo script bash che abbiamo creato:

#!/bin/bash

# adattare queste tre variabili
ssh_user='<dominio.it etc...>'
server='<host remoto>'
dir='<directory fisica nell'host remoto. es: /var/www/vhosts/xxxxx/httpdocs/>'
ssh_port='<porta rsync>'

dblocale_pw="<password>"
dblocale_nome="<nome db>"

dbremoto_nome="<nome db>"
dbremoto_user="<nome user>"
dbremoto_pw="<password>"


#dump del db locale
mysqldump --add-drop-table -h localhost -u root -p$dblocale_pw $dblocale_nome > sql/dblocalhostdump.sql


/usr/bin/rsync -azC --force --delete --progress --exclude-from=config/rsync_exclude.txt -e "ssh -p$ssh_port" . $ssh_user@$server:$dir

ssh $ssh_user@$server -p$ssh_port "cd httpdocs; mysql -h $server $dbremoto_nome -u $dbremoto_user -p$dbremoto_pw < sql/dblocalhostdump.sql; rm -R sql;"

mysql -h $server -u $dbremoto_user -p$dbremoto_pw $dbremoto_nome <<EOFMYSQL
update ps_configuration set value = '$dominio' where name = 'PS_SHOP_DOMAIN' or name = 'PS_SHOP_DOMAIN_SSL';
EOFMYSQL

Post popolari in questo blog

install language on osTicket

this simple guide aims you to install and configure your language on osTicket i written this guide based on forum post http://osticket.com/forum/discussion/76252/installing-language-pack

Trasferimento server to server (LINUX) della casella email

Oggi ho scoperto un tool veramente molto utile per il trasferimento server to servevr delle caselle email. Ed è acnhe veloce.
Si chiama imapsync [rif: https://imapsync.lamiral.info/ ]In pratica il tool da linea di comando si connette via imap al server email precedente e trasporta tutto al server di destinazioneLo uso quando faccio migrazioni di vps.Come funziona imapsync per sincronizzare e emailInternet è una risorsa. Da questo blog ho preso tutte le indicazioni https://www.jverdeyen.be/ubuntu/imapsync-on-ubuntu/Uso una distribuzione ubuntu 14.04. Non esiste un pacchetto precompilato da installare. imapsync si basa su perl. Ve lo ricordate? Mica è andato in disuso.Primo: si installano le dipendenze di imapsync per la migrazione mail server to serversudo apt-get install makepasswd rcs perl-doc libio-tee-perl git libmail-imapclient-perl libdigest-md5-file-perl libterm-readkey-perl libfile-copy-recursive-perl build-essential make automake libunicode-string-perl Secondo: si scarica i…

Vich Uploader: due note per ricordare un apio di aspetti

la documentazione del bundle symfony vich uploader è chiara, anche se non è perfetta
quindi ecco un paio di note per non incappare in errori sciocchi che però fanno perdere tempo.
la configurazione in config.yml contiene le specifiche di come devono essere trattati i files in upload
la configurazione ha un nome e si chiama mapping. nella documentazione del bundle è product_image
nell'entity che conterrà l'immagine è necessario specificare due campi: imageFile e imageName
imageFile contiene il riferimento alla classe symfony File, che è il file effettivo in upload. Il campo è definito come UploadableField e richiede due cose: il nome del mapping, ossia il nostro precedente product_image (!importantissimo) e il nome di una proprieta dove mettere il nome del file
Il form che effettua l'upload del file deve inserire nel builder un campo di tipo vich_file o vich_image e il nome di questo campo deve essere imageFile.
in fase di caricamento il bundle crea in automatico le cartell…