Phase 1 : staging. On creer un dossier fonctionnel du site, à partir du code souce.
Sur un serveur a part ou au moins dans un dossier différent :
Git pull ou git checkout. Avec bien sur selection de la bonne branche, master ou autre.
Composer install
Npm run prod ou npm run dev
Creation des liens symboliques si necessaire
Toute autre manipulation requise
Phase 2 : déploiement du dossier
Si c’est manuel :
Rcp du dossier local vers un nouveau dossier en prod, pour tous les serveurs de prod
renommer le dossier de prod en ‘old’ et le nouveau dossier en ‘current’. L’idee c’est de faire un switch instentané, le vhost pointe dans current. On peut faire pareil avec current qui est un lien symbolique vers le bon dossier.
Certains restart nginx ou php-fpm apres ca. A voir, pourquoi pas
Si c’est amazon beanstalk :
eb deploy
ca fait la même chose que manuel, sachant que ca peut aller beaucoup plus loin.
En cas de problème le rollback est simple et instentané, c’est juste du renommage de lien symbolique ou de dossier
Pour les evolution de structure de la bdd, certains le lancent en automatique à partir du serveur de staging (php artisan migrate). J’aime pas trop, je prefere le faire a la main moi meme à partir de n’importe quel serveur de prod.
Voila voila