Git-FTP auf einem Uberspace installieren
In der Firma in der ich arbeite, wollen wir unseren Workflow verbessern. Konkret ist uns das live-schalten einer Seite ein Dorn im Auge. Hier kann und geht viel zu viel schief.
Eine Datei vergessen hoch zu laden, eine config-Datei überschrieben. Gerade auf einem Live-System ist das natürlich problematisch.
Die erste Idee war das ganze mittels git zu lösen. Nur kann nicht jeder Hoster ssh und git gleich gar nicht. Wir mussten uns also den kleinsten gemeinsamen Nenner suchen und der ist FTP. (Man kann von FTP halten was man möchte, aber wirklich jeder Hoster bietet das an)
Hier kommt Git-FTP ins Spiel. Diese Erweiterung gibt die Möglichkeit mit dem Befehl
git ftp push
die Dateien auf einen FTP-Server zu kopieren.
Bei der Evaluierung von Uberspace als Preview-Server hatte ich nun das Problem, dass die Standard-Installationsroutine von git-ftp Root-Rechte benötigt und diese habe ich nicht.
Die Lösung ist ganz einfach.
Installation
Man wechsle in das Verzeichnis ~/bin und holt sich erst einmal den Quellcode von Git-FTP:
git clone http://github.com/resmo/git-ftp.git ./git-ftp-source
anschließend wechselt man in den Master branch:
cd ./git-ftp-source && git checkout master
In der Installationsanleitung käme jetzt ein sudo make install, aber dieser Befehl kopiert einfach nur das Binary nach /opt/local/bin und da darf man nicht hineinschrieben. Unser installationsbefehl sieht also ein wenig anders aus:
ln -s ./git-ftp-source/git-ftp ./git-ftp
Das War es schon.
Zur Erklärung
Die Installation ist eigentlich nur das kopieren des Binaries in einen Ordner, der in der Pfad-Umgebungsvariable steht (bei Uberspace zum Beispiel ~/bin)
Der symbolische Link hilft nur dabei, dass wir das Binary direkt aufrufen können.