101 votes

Git: extraction automatique du référentiel?

Existe-t-il un moyen de configurer git de sorte qu’il écoute les mises à jour d’un référentiel distant et qu’il tire chaque fois que quelque chose change? Le cas d’utilisation est que je veux déployer une application web en utilisant git (donc j’obtiens le contrôle de version de l’application déployée) mais que je veux mettre le référentiel git « central » sur Github plutôt que sur le serveur web (l’interface de Github est tellement agréable).

Quelqu’un a-t-il fait en ce qui a fait fonctionner cela? Comment Heroku s’y prend-il ? Mon Google-fu ne me donne aucun résultat pertinent.

55voto

ksol Points 5143

Git a des « hooks », des actions qui peuvent être exécutées après d’autres actions. Ce que vous semblez rechercher, c’est « crochet post-réception ». Dans l’administrateur github, vous pouvez configurer une URL post-réception qui sera touchée (avec une charge utile contenant des données sur ce qui vient d’être poussé) chaque fois que quelqu’un pousse vers votre référentiel.

Pour ce que ça vaut, je ne pense pas que l’auto-pull soit une bonne idée - et si quelque chose de mal était poussé vers votre branche ? J’utiliserais un outil comme `` (ou un équivalent) pour de telles choses.

24voto

SigTerm Points 16055

Sur unix-likes, vous pouvez créer un travail cron qui appelle « git pull » (tous les jours ou toutes les semaines ou autre) sur votre machine. Sous Windows, vous pouvez utiliser le planificateur de tâches ou la commande « AT » pour faire la même chose.

3voto

Pavel Niedoba Points 757

Il existe des programmes d’intégration continue comme Jenkins ou Bamboo, qui peuvent détecter les validations et déclencher des opérations telles que la génération, le test, le package et le déploiement. Ils font ce que vous voulez, mais ils sont lourds de dépendances, difficiles à configurer et à la fin, ils peuvent utiliser une vérification périodique par rapport au dépôt git, ce qui aurait le même effet que d’appeler git pull by cron chaque minute.

0voto

Je sais que cette question est un peu ancienne, mais vous pouvez utiliser le journal windows et git pour autopull votre projet en utilisant un webhook et php (en supposant que votre projet implique un serveur web. Voir mon essentiel ici : https://gist.github.com/upggr/a6d92e2808e9628ebe0d01fd93569f4a

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X