Scripts bash simples pour déployer une application Symfony

Publié le 08/07/2019 • Actualisé le 11/12/2019


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

[Maj 11/12/2019] Je n'utilise plus ces deux scripts. Merci d'utiliser une véritable procédure de déploiement automatisée, vous ne le regretterez pas. Vous pouvez trouver ma configuration EasyDeploy dans ce snippet.


Voici les deux scripts bash que j'ai utilisés il y a bien longtemps pour déployer les mises à jour de ce blog. Comme c'est un projet personnel, je n'ai pas besoin de quelque chose de compliqué. J'appelle ces deux scripts de mon MakeFile que vous pouvez trouver ici. Le premier permet de faire une mise à jour mineure (ex : correction d'une typo ou ajout d'une fonctionnalité mineure). Le deuxième permet de faire un déploiement complet, les dépendances composer seront installées et les migrations de base de données seront appliquées. Dans les deux cas, j'utilise un simple git pull. Le site est indisponible pendant quelques secondes pendant le déploiement, mais ce n'est pas vraiment un problème puisque c'est un projet personnel.
PS : Dé-commentez la ligne the mod_pagespeed si vous ne l'utilisez pas.


#!/bin/bash
# bin/prod/update.sh
echo "##########################################################################"
echo "# Update the prod...                                                     #"
echo "##########################################################################"
git checkout public/index_dev.php
git pull
rm -rf var/cache/* var/logs/*
php bin/console cache:warmup
chmod -R 777 var/*
touch /var/cache/mod_pagespeed/cache.flush
rm public/index_dev.php
echo -e " --> DONE\n"

#!/bin/bash
# bin/prod/deploy.sh
echo "##########################################################################"
echo "# Full deploy...                                                         #"
echo "##########################################################################"

git checkout public/index_dev.php
git pull
php composer.phar install --no-interaction --optimize-autoloader
php bin/console cache:clear --no-warmup
php bin/console cache:warmup
php bin/console doctrine:cache:clear-metadata
#php bin/console doctrine:migrations:migrate --no-interaction --env=prod --no-debug
chmod -R 777 var/*
touch /var/cache/mod_pagespeed/cache.flush
rm public/index_dev.php

echo -e " --> DONE\n"

 Plus sur Stackoverflow   Lire la doc  Snippet aléatoire

  Travaillez avec moi !