Automatiser le déploiement de Laravel

Bonjour,

Dans un article précédent, je vous parlais d’un script pour automatiser l’installation d’un serveur sous ISPConfig.

Un bon développeur est un développeur fainéant, et donc j’ai crée un petit script shell make file pour Laravel 5 que je vous partage ici. Il permet d’automatiser les déploiements d’application en Laravel 5 ainsi que leur mise à jour depuis un dépot Git ou Mercurial.

Il est disponible sur mon Github: https://github.com/jeremy379/LaravelProjectInstaller

Concrètement, le script va s’occuper de récupérer composer et git/mercurial pour fonctionner, va faire les update & upgrade du serveur et ensuite après récupération du dépot il va s’occuper de faire les opérations spécifique à Laravel ( composer update, php artisan migrate, correction des permissions …).
En mode installation, il s’occupe également d’ouvrir l’éditeur pour le .env

N’hésitez pas à apporter votre pierre à l’édifice (enfin, la cabane pour le moment ^^)

Lire la suite

Laravel 5: Php Artisan serve pour accélerer un déploiement local

Bonsoir 🙂

Je me suis retrouvé aujourd’hui à devoir tester une application web Api-Client développé sous Laravel. Avant, j’aurais probablement du commencer par configurer MAMP (ou solution équivalent), remplir la db, … Mais avec Laravel, 5 minutes chronos suffisent.

Nb: Ma solution fonctionne sur Max Os X (Yosemite et El captain testé). Pour les distributions linux la solution doit être très proches. Pour windows les commandes artisan sont logiquement les mêmes, mais je vous laisse découvrir par vous même l’installation de Mysql et Php.

Installer Mysql sur votre machine

Télécharger Mysql

En testant, vous risquer d’obtenir une erreur Error: 2002 - No such file or directory car Php n’arrive pas à communiquer avec Mysql.
Pour régler le problème il suffit de créer un lien symbolique1 :

cd /var
sudo mkdir mysql
cd mysql
sudo ln -s /tmp/mysql.sock mysql.sock

Récupéré votre projet (un git clone par exemple)

Dans le cas d’un projet sous versionning, vous ne pusher normalement pas votre dossier vendor, un composer install est donc utile.
Ensuite, il faut simplement adapter le .env (mais idem, si c’était sur versionning, il n’est normalement pas présent).
un cp .env.example .env permet donc d’avoir un .env vierge.

Modifié ensuite les données de connections à la base de données (dans mon cas, j’avais juste à ajouter dans le .env de l’Api les données de Db) :
Par défaut, l’install de mysql est accessible en localhost sur le port habituel 3306 avec le login « root » et pas de mot de passe.

Effectuer ensuite un php artisan key:generate sur chacune des applications à lancer afin de générer la clé (Sans cela vous obtiendrez une erreur)

Lancer le serveur Mysql et Web

Rendez vous dans vos préférences systèmes, en bas avec d’autres extensions installées se trouve le logo mysql
Mysql-param

Cliquez dessus, et lancer ensuite Mysql
Mysql-Mac

Une fois Mysql démarré, pensé éventuellement à faire un php artisan migrate et si nécessaire un php artisan db:seed afin de remplir la base de donnée (ou de la mettre à jour).

Il est donc temps de lancer les serveurs (pas trop loin quand même ^^) :

php artisan serve --port=8000
php artisan serve --port=8001

Dans mon cas, je lance l’Api sur le port 8000 et le client sur le port 8001. On pourrait donc avoir une multitude d’application tournant de cette façon.

Ps: Sachez que cette solution existe aussi sur Symfony 2 (le « Papa » de Laravel), php app/console server:start, pour en savoir plus, c’est Ici

1 Source (+ installer un serveur web complet sur max os x yosemite)

Lire la suite