Utiliser Deployer pour la mise en production d'applications Symfony >= 3
Deployer est un outil pour le déploiement d'applications PHP. Sa documentation est claire et complète.
Par contre, quand on lance dep init
, il manque certains choix parmi ceux proposés. Notamment, le choix "Symfony" est en fait paramétré pour le déploiement d'applications Symfony2 ! En parcourant le code sur le dépôt Github de Deployer, j'ai vu qu'il y avait d'autres recettes, notamment pour Symfony4.
Il suffit donc, lors du dep init
, de choisir l'option par défaut (Common ou quelque chose du genre). Ensuite, dans le fichier deploy.php, il suffit de remplacer la ligne du require par require 'recipe/symfony4.php';
Je recommande aussi de commenter les lignes set('shared... si vous respectez la structure par défaut des applications Symfony4 ou 5.
J'ai du aussi ajouter une ligne set('env', [ 'APP_ENV' => 'prod', ]);
car la recette pour Symfony4 part du principe que le paramètre est plutôt SYMFONY_ENV;
Enfin, pour le déploiement du front, j'ai aussi ajouté une tâche spécifique :
task('front', '
yarn install;
yarn encore production');
Enfin, j'ai inséré cette tâche juste avant le 'deploy:unlock'
Et voilà !