Ich möchte wissen, ob es eine einfache Möglichkeit gibt, ein GIT-Repository in die Produktion zu bringen (auf einem FTP-Server). Vielen Dank
130
Einige Tools, die kürzlich zum Git-Wiki hinzugefügt wurden :
git-ftp von René Moser ist ein einfaches Shell-Skript, mit dem FTP auf Git-Weise ausgeführt werden kann. Verwenden Sie git-ftp.sh, um nur die von Git verfolgten Dateien auf einen FTP-Server hochzuladen, die sich seit dem letzten Upload geändert haben. Das spart Zeit und Bandbreite. Selbst wenn Sie mit verschiedenen Zweigen spielen, weiß git-ftp.sh, welche Dateien unterschiedlich sind. Kein gewöhnlicher FTP-Client kann das.
git-ftp von Edward Z. Yang ist ein einfaches Skript, das in Python geschrieben wurde, um Dateien in ein Git-Repository über FTP hochzuladen, nur neue Dateien zu übertragen und alte Dateien zu entfernen.
Wenn Sie die grafische Benutzeroberfläche bevorzugen, verwenden Sie SourceTree. Sie können problemlos eine benutzerdefinierte Aktion einrichten, die das oben erwähnte git-ftp verwendet. Eine kurze Beschreibung zum Setup (für Mac) unter Push a Git Repository to a FTP
quelle
Ich habe festgestellt, dass PHPloy ein großartiges Tool zum Senden Ihrer Git-Commits an Remote-Server über FTP ist. Es funktioniert über die Befehlszeile und ist in PHP geschrieben (und erkennt sogar Änderungen in Submodulen).
https://github.com/banago/PHPloy
Getan!
(Haftungsausschluss: Nachdem ich es eine Weile verwendet habe, habe ich jetzt einige Code-Patches und Verbesserungen beigesteuert, die es Windows-kompatibel machen.)
quelle
Wenn Sie auf einem Mac arbeiten und Transmit haben, würde ich das folgende git-tranmit-Skript empfehlen ( https://gist.github.com/379750 ). Es verwendet DockSend, um nur die zuletzt aktualisierten Dateien zu senden. Wenn Sie mit DockSend nicht vertraut sind, besuchen Sie http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ .
Konfiguration:
quelle
Genau dafür ist Git nicht gedacht. Wenn Ihre Quelle jedoch nicht kompiliert oder verarbeitet werden muss, z. B. eine Website, die ausschließlich aus HTML- und Javascript-Dateien und dergleichen besteht, können Sie einen Klon des Repos auf Ihrem Webserver haben und
git pull
vom Server aus verwenden, um ihn aufrechtzuerhalten -miteinander ausgehen. Hinweis, ich würde Ihren Webserver so konfigurieren, dass das Git-Verzeichnis und dergleichen ausgeblendet wird. Und das ist erst der Anfang der Sicherheitsbedenken.Wenn Sie irgendeine Art von Kompilierung oder Verarbeitung haben, sollten Sie sich Ant , Maven , BuildR , SBT usw. ansehen .
quelle
Sie können Deployhq.com verwenden, es funktioniert wie ein Zauber. Sie müssen lediglich Ihr Repository und Ihr FTP-Konto einrichten.
Sie haben derzeit folgende Versionskontrollsysteme:
Git, Subversion, Mercurial.
Mit gehostetem Repository
quelle
Dies ist ein Skript in PHP, mit dem das Git-Diff fast automatisch auf einen FTP-Server hochgeladen wird:
http://code.google.com/p/upload-git-diff-with-ftp/
quelle
https://www.deployhq.com/
Kostenlos für ein Projekt und es funktioniert sehr sehr gut.
quelle
Hier gibt es ein Ruby-Skript - Ruby Git-Deployment über FTP oder SSH, das nur die geänderten Dateien im Git-Repo über FTP oder SSH hochlädt.
Wie in einer anderen Antwort erwähnt, ist hier das Python-Skript git-ftp.py, das eine ähnliche Funktion ausführt .
Und hier ist die Shell-Skript-Version von git-ftp .
Es gibt auch ein Ruby Gem-Projekt namens git-deploy, mit dem Sie eine benutzerdefinierte Bereitstellung über eine Git-Fernbedienung mithilfe des
git push
Befehls einrichten können, genau wie bei den Heroku- und Azure-Diensten. In diesem Fall müssen Sie möglicherweise benutzerdefinierte Methoden für die Bereitstellung über FTP schreiben. Ich gehe davon aus, dass Sie über SSH-Zugriff auf Ihren Produktionsserver verfügen.quelle
Wenn Sie Code in die Produktion einbauen, empfehle ich die Verwendung eines "Installationsprogramms" wie eines RPM-Pakets, um Ihren Code zu installieren. Auf diese Weise wird die Version mit einem Stempel versehen, und Sie können das Installationspaket nutzen, um Aktualisierungen des Produktionscodes zu unterstützen. Git ist nicht wirklich für die Unterstützung von Produktionsinstallationen konzipiert, sondern soll Änderungen am Code selbst verfolgen.
In jedem Fall können Sie mit einem .RPM (oder EXE oder was auch immer) es einfach per FTP auf das Produktionssystem übertragen und wie jedes andere Paket installieren.
quelle
Fügen Sie es als Fernbedienung hinzu, und Sie können darauf pushen. Es reicht jedoch nicht aus, nur Code zu pushen. Es muss mit dem Arbeitsbaum zusammengeführt werden. Der einfachste Weg ist, in die andere Richtung zu gehen, einen funktionierenden Baum auf dem Server zu haben und diesen abzurufen und zusammenzuführen.
quelle
Sie können jederzeit versuchen, das FTP mithilfe von http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem in ein lokales Verzeichnis zu mounten .
Dann können Sie es auf die gleiche Weise wie nutzen diese .
quelle
Ich hatte große Mühe, das herauszufinden. Ich habe einen einfachen Weg gefunden, dies aus verschiedenen Quellen zu erreichen ( git-ftpINSTALL , git-ftpUPLOAD , git-ftpIssue , git-ftpPUSH ). Sie können als Referenz lesen, aber es besteht keine Notwendigkeit, da ich den schrittweisen Prozess unten erwähnt habe.
Das erste zuerst: Installieren Sie Git and Curl mit Brew unter MAC OS
Führen Sie die folgenden Befehle aus:
Aktualisierung mit git
Konfiguration
Laden Sie alle Dateien hoch
Oder wenn die Dateien schon da sind
Arbeiten und bereitstellen
Wenn ein Fehler auftritt: pathspec 'index.txt' stimmte nicht mit Dateien überein, die git bekannt sind . Dies bedeutet, dass die Datei noch nicht bereitgestellt wurde. Fügen Sie die Datei hinzu und versuchen Sie es mit Commit.
Hoffe das hilft.
quelle
Sie können FTPloy versuchen ...
https://ftploy.com
Sie haben ein kostenloses Projekt, mit dem Sie es ausprobieren können. Ich benutze derzeit für eine kleine PHP-Website und es funktioniert ganz gut. Ein paar Fehler auf der Seite, aber es ist ein aktives Projekt, also arbeiten sie zumindest daran.
quelle
Überprüfen Sie https://gitftp-deploy.com/, ob Sie unter MacOS arbeiten und GUIs mögen.
Es ist eine nette kleine Anwendung, die Git verwendet, um Änderungen zu verfolgen und nur die geänderten Dateien mit FTP hochzuladen.
Besonders praktisch, wenn Sie nicht gerne monatliche Gebühren für Dutzende kleinerer Projekte mit kleinen Teams zahlen.
quelle