deploy semplificato con Symfony2

Come probabilmente saprete, l’attuale standard de facto per il deploy con Symfony2 è Capifony.
Può capitare però, di avere esigenze di deploy molto più semplici, oppure di non voler usare ruby, o ancora non avere la possibilità di configurare il server remoto per utilizzarlo.
Perché allora non riciclare la semplice strategia utilizzata dal caro vecchio symfony 1? Ecco qui un semplicissimo script shell, da inserire per esempio in bin/deploy.sh:

#!/bin/bash
 
# adattare queste tre variabili
user='nome_utente'
server='nome_server'
dir='nome_sito'
 
/usr/bin/rsync -azC --force --delete --progress --exclude-from=app/config/rsync_exclude.txt -e ssh . $user@$server:$dir
 
/usr/bin/ssh $user@$server 'cd '$dir'; /usr/bin/php app/console cache:clear --env=prod --no-debug'

Basterà copiare e adattare un file rsync_exclude.txt da un vecchio progetto symfony (o usare quello della sandbox) nella cartella app/config e sostituire ai vari nome_utente, nome_server e nome_sito i valori adeguati.
Ovviamente, si possono personalizzare i comandi da eseguire dopo aver eseguito rsync, basta aggiungerli all’interno degli apici singoli, dopo quello di pulizia della cache, separati da puntoevirgola.

Pubblicato da Massimiliano Arione

web demiurge

Unisciti alla discussione

7 commenti

  1. Sinceramente mi sembra un po’ overkilled quel bundle… l’unica cosa che fa in più rispetto alla mia soluzione è il dry-run. E però non pulisce la cache dopo il deploy, che mi pare molto più importante.

  2. A me da terminale da
    START deploy
    ——————————————–

    building file list …
    9352 files to consider

    ——————————————–

    Deployed on prod server!
    Ma in realta non deploya nulla.
    Soluzioni?
    Grazie Mille

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

phpDay - Maggio 2019 a Verona