Chciałbym wiedzieć, czy istnieje łatwy sposób na wypchnięcie repozytorium GIT do produkcji (na serwerze FTP)? Dzięki
130
Niektóre narzędzia niedawno dodane do wiki Git :
git-ftp autorstwa René Mosera to prosty skrypt powłoki do obsługi FTP w sposób Git. Użyj git-ftp.sh, aby przesłać tylko pliki śledzone przez Git na serwer FTP, które uległy zmianie od ostatniego przesyłania. Oszczędza to czas i przepustowość. Nawet jeśli grasz z różnymi gałęziami, git-ftp.sh wie, które pliki są różne. Żaden zwykły klient FTP nie może tego zrobić.
git-ftp autorstwa Edwarda Z. Yang to prosty skrypt napisany w Pythonie do przesyłania plików do repozytorium Git przez FTP, tylko do przesyłania nowych plików i usuwania starych plików.
Jeśli wolisz GUI, użyj SourceTree, możesz łatwo skonfigurować akcję niestandardową, która używa wspomnianego wyżej git-ftp. Krótki opis konfiguracji (dla komputerów Mac) w sekcji Przekaż repozytorium Git na serwer FTP
źródło
Znalazłem PHPloy jako świetne narzędzie do wysyłania zatwierdzeń Git do zdalnych serwerów przez FTP. Działa z wiersza poleceń i jest napisany w PHP (a nawet wykrywa zmiany w modułach podrzędnych).
https://github.com/banago/PHPloy
Gotowe!
(Zastrzeżenie: po używaniu go przez jakiś czas dodałem kilka poprawek i ulepszeń kodu, dzięki czemu jest kompatybilny z Windows.)
źródło
Jeśli korzystasz z komputera Mac i masz Transmit, polecam następujący skrypt git-tranmit ( https://gist.github.com/379750 ). Używa DockSend do wysyłania tylko ostatnio zaktualizowanych plików. Jeśli nie znasz DockSend, sprawdź http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ .
Ustawiać:
źródło
Ściśle mówiąc, nie do tego służy git. Jeśli jednak Twoje źródło jest czymś, co nie wymaga kompilacji ani przetwarzania, na przykład strona internetowa składająca się wyłącznie z plików html i javascript itp., Możesz mieć klon repozytorium na swoim serwerze internetowym i używać go
git pull
z serwera, aby go utrzymać -spotykać się z kimś. Uwaga, skonfigurowałbym twój serwer WWW, aby ukrył katalog git i tym podobne. A to dopiero początek obaw o bezpieczeństwo.Jeśli masz jakiekolwiek kompilacje lub przetwarzanie, powinieneś zacząć patrzeć na Ant , Maven , BuildR , SBT itp.
źródło
Możesz użyć Deployhq.com, to działa jak urok, jedyne, co musisz zrobić, to skonfigurować repozytorium i konto FTP.
Obecnie są to następujące systemy kontroli wersji:
Git, Subversion, Mercurial.
Z hostowanym repozytorium
źródło
To jest skrypt w PHP do niemal automatycznego przesyłania git-diff na serwer FTP:
http://code.google.com/p/upload-git-diff-with-ftp/
źródło
https://www.deployhq.com/
Darmowy na jeden projekt i działa bardzo dobrze.
źródło
Jest tutaj skrypt Ruby - Ruby git-deploy przez FTP lub SSH, który przesyła tylko zmienione pliki w repozytorium git za pośrednictwem FTP lub SSH.
Jak wspomniano w innej odpowiedzi, oto skrypt Pythona git-ftp.py, który robi podobną rzecz.
A oto wersja skryptu powłoki git-ftp .
Istnieje również projekt Ruby gem o nazwie git-deploy, który umożliwia skonfigurowanie niestandardowego wdrożenia za pomocą pilota git za pomocą
git push
polecenia, w taki sam sposób, jak usługi Heroku i Azure. W tym przypadku może być konieczne napisanie niestandardowych metod do wdrożenia przez FTP i myślę, że zakłada się, że masz dostęp SSH do serwera produkcyjnego.źródło
Jeśli wprowadzasz kod do produkcji, zalecam użycie „instalatora”, takiego jak pakiet RPM, do zainstalowania kodu. W ten sposób zostanie oznaczona wersja i będziesz mógł wykorzystać pakiet instalatora do obsługi aktualizacji kodu produkcyjnego. Git nie jest tak naprawdę zaprojektowany do obsługi instalacji produkcyjnych, jest przeznaczony do śledzenia zmian w samym kodzie.
W każdym razie, po zbudowaniu pliku .RPM (lub EXE lub czymkolwiek), możesz po prostu przesłać go przez FTP do systemu produkcyjnego i zainstalować jak każdy inny pakiet.
źródło
Dodaj go jako pilota, a następnie możesz do niego wypchnąć, jednak zwykłe przesłanie kodu nie wystarczy, należy go scalić z drzewem roboczym. Najłatwiej jest przejść na drugą stronę, mieć działające drzewo na serwerze i pobrać je i scalić z nim.
źródło
Zawsze możesz spróbować zamontować ftp w katalogu lokalnym używając http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem .
Wtedy można go używać tak samo jak ten .
źródło
Bardzo się starałem, żeby to rozgryźć. Wymyśliłem łatwy sposób na zrobienie tego z różnych źródeł ( git-ftpINSTALL , git-ftpUPLOAD , git-ftpIssue , git-ftpPUSH ). Możesz przeczytać w celach informacyjnych, ale nie ma takiej potrzeby, ponieważ wspomniałem poniżej o procesie krok po kroku.
Po pierwsze: zainstaluj git i curl za pomocą brew w systemie Mac OS
Uruchom następujące polecenia:
Aktualizacja za pomocą git
Ustawiać
Prześlij wszystkie pliki
Lub jeśli pliki już tam są
Pracuj i wdrażaj
Jeśli wystąpi błąd: pathspec „index.txt” nie pasuje do żadnego pliku (ów) znanych gitowi . Oznacza to, że plik nie został jeszcze wystawiony, więc dodaj plik, a następnie spróbuj zatwierdzić.
Mam nadzieję że to pomoże.
źródło
Możesz spróbować FTPloy ...
https://ftploy.com
Masz jeden darmowy projekt, z którym możesz go wypróbować. Obecnie używam dla małej witryny php i działa całkiem dobrze. Kilka błędów na stronie, ale jest to aktywny projekt, więc przynajmniej nad nim pracują.
źródło
Sprawdź https://gitftp-deploy.com/, jeśli korzystasz z MacOS i lubisz GUI.
Jest to fajna mała aplikacja, która używa Gita do śledzenia zmian i przesyłania tylko zmienionych plików przez FTP.
Jest to szczególnie przydatne, jeśli nie lubisz płacić miesięcznych opłat za dziesiątki mniejszych projektów z małymi zespołami.
źródło