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

Commenti

  1. Installing prestashop to your shopping cart is very easy you just need to follow your hosting service instructions and you are good to. prestashop themes are indeed the best template you can ever use.

    RispondiElimina

Posta un commento

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

Develop Prestashop Module - puntata 1 creazione di un modulo prestashop

la creazione o lo sviluppo di un modulo   Prestashop funziona sia per il front-end che il back-end del sistema la struttura di un modulo è fissa che si compone con una serie di step: file di configurazione file di installazione files controllers per l'amministrazione files controllers per il frontend files delle view creazione dell'infrastruttura base del modulo per Frontend all'interno della cartella modules di prestashop creare una cartella  esempio     <root>          |---modules                    |-----miomodulo naturalmente il nome del modulo lo potete personalizzare all'interno della cartella miomodulo  creare i seguenti file config.xml index.php miomodulo .php   <-- inserite il vostro nome modulo al posto di mio modulo index.php il codice di index php , file che dovrà essere inserito in ogni cartella : <?php /* ...

Prestashop: override PayPal about.tpl

Abbiamo incontrato una difficoltà nell'override del template "about.tpl" di PayPal su Prestashop. Abbiamo cercato sul forge di Prestashop e abbiamo trovato questo bug . Ora il consiglio che viene dato è quello di utilizzare il "core display method". Così dopo un po' di debug l'abbiamo fatto. Per abilitare all'override l'"about.tpl" di Prestashop è necessario modificare il file "modules/paypal/backaward_compatibility/Display.php": <?php /**  * Class allow to display tpl on the FO  */ class BWDisplay extends FrontController { // Assign template, on 1.4 create it else assign for 1.5 public function setTemplate($template) { if (_PS_VERSION_ >= '1.5') parent::setTemplate($template); else $this->template = $template; } // Overload displayContent for 1.4 public function displayContent() { parent::displayContent();                 echo Module::display('paypal', ...