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.