Home

Laravel Envoy est une bibliothèque PHP permettant d’exécuter facilement des commandes linux sur serveurs distants ou locaux via SSH.

Laravel Envoy est une bibliothèque PHP permettant d'exécuter facilement des commandes linux sur serveurs distants ou locaux via SSH.

Lorsque vous créez des applications PHP complexes nécessitant de manipuler le filesystem de votre serveur ou encore supprimer des fichiers de cache, il peut être intéressant de pouvoir exécuter des commandes console en PHP.

Laravel Envoy est une bibliothèque indépendante (pas besoin d’utiliser Laravel) permettant d’exécuter facilement des tâches, à la fois sur un serveur en local ou sur un serveur distant.

Pour l’installer sur votre serveur, téléchargez le fichier phar du projet et compilez ce dernier.

Dans un premier temps, commencez par créer un fichier PHP Envoy.blade.php à la racine de votre projet:

1.@servers(['web-1' => '192.168.1.1', 'web-2' => '192.168.1.2'])
2.@task('deploy', ['on' => ['web-1', 'web-2']])
3.cd site
4.git pull origin {{ $branch }}
5.php app/console cache:clear
6.@endtask

Ces instructions permettront d’exécuter 3 commandes sur 2 serveurs différents. Pour les exécuter, il suffit de lancer la commande:

envoy run deploy

« deploy » étant le nom donné à notre tâche.

L’authentification se fait en SSH, il est donc conseillé de créer des clés SSH entre les deux serveurs pour ne pas qu’un mot de passe vous soit demandé systématiquement.

Il est possible d’exécuter en parallèle les commandes sur plusieurs serveurs, gérer l’arrêt de l’éxécution dans le cas où une commande échouerait.

Des macros permettent d’exécuter plusieurs tâches:

01.@macro('deploy')
02.foo
03.bar
04.@endmacro
05.@task('foo')
06.echo "HELLO"
07.@endtask
08.@task('bar')
09.echo "WORLD"
10.@endtask

Bref, un outil parfait pour gérer ses déploiements et tâches de maintenance.

Il vous faudra toutefois PHP 5.4 pour faire fonctionner Envoy.

Si vous voulez voir une démo vidéo, allez faire un tour sur Laracasts.

Site Officiel

Publicités

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s