Git, auto-push lors d'un commit

a marqué ce sujet comme résolu.

Bonsoir,

Je n’ai peut-être pas fait au plus simple, mais j’ai mis un hook post push sur mon serveur. Ce hook lance un script PHP CLI qui fait faire un pull dans le répertoire du site web, et qui lance des commandes en plus. Dans mon cas, les commandes exécutées après le pull, c’est, mettre à jour le schéma de base de donnée et vider les caches de Doctrine et de Symfony.

C’est hyper pratique puisque ça évite de devoir se connecter sur le serveur… adieu l’antique FTP, et plus besoin de se connecter en SSH non plus. Par contre ça implique d’avoir les permissions pour lancer un script, c’est probablement pas gagné chez la plupart des hébergeurs.

J’ai fait le script en PHP parce que je trouve le bash immonde quand ça dépasse quelques lignes, mais on peut le faire dans n’importe quel langage; python et perl sont assurément de bons candidats.

+0 -0

Ce qu’il faut juste faire gaffe avec ça, c’est de pas louper des migrations de base de données. Dans l’absolue, toutes la mise en Prod est automatisable, mais je suppose qu’il y a souvent des pépins lors de celles-ci (Et je pense que Victor ne me contredira pas :) )

Je n’ai jamais eu aucun problème avec la mise à jour automatique de la structure des tables avec doctrine. Mais il y a des cas où ça continue sûrement de coincer puisque partout on recommande de ne pas l’activer en prod…

Le plus gros piège à con que j’ai trouvé avec doctrine, c’est encore la syntaxe des annotations: l’astérisque doit être présente et il doit y avoir obligatoirement un et un seul espace entre l’astérisque et l’arobase; et surtout, pas d’erreur quand quelque chose n’est pas pris en compte.

Mais bon, je m’écarte du sujet initial.

+1 -0

Avec Caddy Server c’est possible via une addon.

git clones a git repository into the site. This makes it possible to deploy your site with a simple git push.

The git directive starts a service routine that runs during the lifetime of the server. When the service starts, it clones the repository. While the server is still up, it pulls the latest every so often. You can also set up a webhook to pull immediately after a push. In regular git fashion, a pull only includes changes, so it is very efficient.

If a pull fails, the service will retry up to three times. If the pull was not successful by then, it won’t try again until the next interval.
caddyserver.com

Faut juste dire adieu à Apache :-°

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte