Wie machst du ein automatisches git pull auf dem remote-server?

Bevor ich beginne, ich weiß es sind viele Fragen ähnlich wie diese, aber ich bin wirklich Schwierigkeiten haben, eine übersichtliche, sichere, best-practice, da das feedback auf Ihnen wurde so weit variiert.

Was ich machen möchte:
1) die Komplette Arbeit auf meiner lokalen Maschine auf einem Zweig.
2) Drücken Sie die änderungen von git. Git Beiträge zu einem webhook URL und automatisch hat meine remote-server ziehen die Veränderungen, die auf eine Entwicklung vor Ort.
3) nach QA würde und bestätigt zu werden, richtigen auf die Entwicklung vor Ort, schieben Sie den master-Zweig auf den Produktions-Standort (auf dem gleichen server wie die Entwicklung vor Ort).

Wo bin ich bei:
Ich habe git installiert auf meinem lokalen Rechner und dem remote-server. Ich kann push-mods für die Entwicklung Zweig zu git. Auf dem remote-server, kann ich ziehen Sie die updates, und es funktioniert wie ein Charme. Das problem ist, dass ich nicht bekommen kann die remote-server, um automatisch zu aktualisieren, wenn änderungen von meiner lokalen Maschine.

Meine Fragen sind:
1) Für die remote-server-Entwicklung, Website-Verzeichnis, sollte ich git init "oder" git init --bare? Ich Plane nicht, auf dass Aktualisierungen auf dem server selbst. Ich möchte meine dev-team vor Ort zu arbeiten und push-mods auf den server. Ich glaube, ich brauche zu verwenden, git init die als Arbeits-Baum ist notwendig, um set-up eine remote-alias, um das git-repository, aber ich wollte bestätigen.
2) ich bin ziemlich sicher, dass die webhook post aus dem git Problem wird durch user-Privilegien. Wie kann ich sicher dies zu umgehen? Ich habe gelesen, dass viele tutorials, die nahelegen, dass die Aktualisierung von git-hook-Dateien, aber ich das Gefühl, dass ist krasser einer Maßnahme, als ich brauche, um zu nehmen. Ich würde lieben im Stande zu sein, haben die webhook Treffer eine URL, die sicher zieht die Dateien ohne eine Schiffsladung von code (wenn es möglich ist).

Ich bin ein web-Entwickler durch die Natur, also git und sysadmin-Aufgaben sind in der Regel der Fluch meiner Existenz. Wieder, ich weiß, diese Frage ist ähnlich wie andere, aber ich habe noch zu finden, eine umfassende, präzise, sichere, und die meisten logischen Ansatz zur Lösung des Problems. Ich bin über 16 Stunden in und haben offiziel die "going in circles mit keine Fortschritte" zeigen.

Vielen Dank im Voraus für Ihre Hilfe!

  • Wow, ist es irgendwie unmöglich ist, die einfache Lösungen. Macht mich miss SVN ein wenig...
InformationsquelleAutor MrC | 2012-05-10
Schreibe einen Kommentar