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.

7 Replies to “deploy semplificato con Symfony2”

  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

  3. Stefano, non credo tu stia parlando del mio script, che (come puoi vedere) non fornisce tale output. Se hai bisogno di aiuto sul bundle segnalato sopra, questo non è il posto adatto.

  4. mi carica tutto sembrava la soluzione perfetta ma il sito non si vede si vede una pagina bianca che non capisco da cosa dipenda

Leave a Reply

Your email address will not be published. Required fields are marked *