git pull automatique via crontab
Je voudrais synchroniser mon dépôt git sur mon serveur à mon serveur web local. Tous les guides, j'ai lu causé les différentes erreurs et maintenant je suis vraiment désespérée. Je suis désolé si vous avez déjà lu cette question des centaines de fois, mais je ne comprends toujours pas -.-
- De travail avec Linux SuSE et conneting avec PuTTY en SSH
- la webprojekt où j'ai besoin de la synchronisation sur le dossier: /srv/www/htdocs/my_project
- le dépôt git est ici: /srv/git/repository/my_project
- J'ai les utilisateurs: "root" et "cron"
Le cron doit faire cette commande à chaque minute ou moins avec l'utilisateur "cron":
cd /srv/www/htdocs/my_project
git pull origin
(git fetch) <-- not mandatory
Ces commandes fonctionnent correctement lorsque je saisie manuellement. (sauf que je dois entrer le mot de passe utilisateur à chaque fois)
Mon cron devrait ressembler à ceci ensuite:
* * * * * su -s /bin/sh cron -c 'cd /srv/www/htdocs/my_project && /usr/local/bin/git pull origin master'
J'ai exécuté ce sur mon Mastic, qui m'a répondu: -bash: bin: command not found
Mon prochain essai a été:
crontab * * * * * su -s /bin/sh cron -c 'cd /srv/www/htdocs/my_project && /usr/local/bin/git pull origin master'
Erreur: crontab: invalid option -- 's'
Erreur: crontab: erreur d'utilisation: option non reconnue
J'ai essayé beaucoup plus de combinaisons (retrait de la su-s ou de retrait de l'-c, etc.) mais il n'a jamais fonctionné comme je le voulais -.- Ne pas le faire de cette commande sur le Mastic?
Bon à savoir: je suis sous linux, et GIT débutant, a commencé à travailler avec elle hier et effectivement réussi à faire beaucoup de choses jusqu'à maintenant. (^.^) Donc, je serais heureux d'avoir une explication compréhensible, dans ce que je fais de mal et ce que j'ai à faire. C'est déroutant.
le référentiel n'est pas hébergé quelque part. Sur le serveur j'ai apache, gitolite et le dépôt git. Nous n'utilisons pas github.com si c'était votre idée. Je veux utiliser thiy système pour l'essai en interne, avant de télécharger les projets pour le serveur live.
OriginalL'auteur lastria | 2012-11-28
Vous devez vous connecter pour publier un commentaire.
La façon la plus simple d'obtenir ce que vous voulez (le dépôt git automatiquement déployé sur votre serveur) est en mettant le dépôt git à l'intérieur de vous serveur web et à l'aide d'un crochet pour faire une vérification sur push. Comment cela est décrit dans cette réponse: Déployer un projet à l'aide de la commande Git push
OriginalL'auteur Chronial