Symfony2 – Copier un bundle d'une installation à une autre

Suite à la création d’une version de dev, je vous fais part des différentes étapes déployées pour copier le travail effectué sur un bundle dans une version toute clean de Symfony2.

Archiver le répertoire src/NomDuBundle :

tar -cf NomDuBundle.tar NomDuRepBundle

Copier coller dans le bon répertoire :

cp NomDuBundle.tar src/

Décompresser :

tar -xf NomDuBundle.tar

Faire liaison avec route du bundle :

#app/config/routing.yml
travel_travel:
 resource: "@TravelTravelBundle/Resources/config/routing.yml"
 prefix:   /

Copier coller le layout.html.twig principal :

cp /var/www/jobeet/Symfony/app/Resources/views/layout.html.twig /var/www/dev.inclusive.fr/path/app/Resources/views/

Twig : Extension Text (notamment truncate) :

#app/config/config.yml

services:
    twig.extension.text:
       class: Twig_Extensions_Extension_Text
       tags:
           - { name: twig.extension }

Copier les assets

  • Si dispo dans bundle/Ressources/public :
 app/console assets:install web/ --symlink
  • Si dispo dans le répertoire /web de la précédente installation du bundle
Archive tar du repertoire :
tar -cf assets.tar web/
Décompresser dans /web ou public/

Modifier liens vers assets si nécessaire :

#layout.html.twig par exemple :
asset('bundles/NomDuBundle/css/bootstrap.css ....

Supprimer la route créée par défaut dans app/config/routing_dev.yml:

# AcmeDemoBundle routes (to be removed)
_acme_demo:
    resource: "@AcmeDemoBundle/Resources/config/routing.yml"

Enfin, vérifier robots.txt …

Et… on passe en prod !

#web/app.php
$kernel = new AppKernel('prod', false); -> $kernel = new AppKernel('prod', true);

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *