Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Aktualizowanie i wersjonowanie skryptow na serwerze
Forum PHP.pl > Inne > Komputery i oprogramowanie
NuLL
Heloł smile.gif

Jak wiekszosc freelancerow zarzadzam paroma projektami od strony kodu itp. Nie posiadam obecnie ani dedyka ani serwera kontroli wersji i zastanawiam sie w jaki sposob zoptymalizowac utrzymanie kodu na serwerach produkcyjnych smile.gif Kopiowanie za kazdym razem via FTP i przypominanie sobie ktore pliki trzeba zaczyna mnie przyprawiac o dreszcze dry.gif Pewnym problemem jest to ze na serwerach na ktorych sa strony nie mam wjazdu via shell worriedsmiley.gif Tak wiec pozostaje FTP - zastanawialem sie nad jakims system paczkowania zmienionych plikow i wysylaniu jakiegos tar-a, a potem rozpakowywaniu go przez samego PHPa - z drugiej strony patrzac na to ile taki skrypt bedzie sie wykonawal ( mowie o sprawdzaniu zmian ) to zastanawiam sie nad sensem takiego rozwiazania. A SVN na Windowsie nie mam nawet jak postawic ...

A Wy macie jakies swoje metody na to ? Z checia podyskutowalbym i poczytal o jakis alternatywach smile.gif
NoiseMc
Z darmowych serwerow SVN to jest na przyklad https://opensvn.csie.org/ do ktorego przy okazji jest zainstalowany Trac z ktorego mozna przegladac repozytorium, osobiscie uzywam go do GlobalTrance. Po kazdej zmianie robie commit, patrze co sie zmienilo i na podstawie listy upam zmienione pliki przez FTP na serwer, troche uciazliwe ale zawsze lepsze to niz nic.

Co do SVN na windzie to znalazlem to: http://www.visualsvn.com/server/, nie uzywalem ale wyglada na fajna rzecz

Edit: Ups ... Chyba zartowalem z tym serwerem SVN, wyglada na to ze jest platny, ale mozna jeszcze tutaj popatrzec, nie zaglebialem sie za bardzo ale tam bym poszukal
PiotrLegnica
Jeśli repozytorium SVN nie musi być widoczne, to lokalne wystarczy (svnadmin create file:///sciezka, potem svn co file:///sciezka, z binarkami SVN dla Windows nie ma żadnego problemu) + np. hook na post-commit który będzie uploadował zmienione pliki (np. skryptem WinSCP).

A jeśli chodzi o hostowane repozytoria, to ja osobiście polecam assembla.com - darmowy, szybki i udostępnia Traca.
NoiseMc
Z tym post-commit to ciekawa sprawa, zastanawiam sie tylko jak to skonfigurowac jezeli mam trunk i branches/production, nie chcialbym zeby kazda zmiana w trunk byla wrzucana do produkcji przez ftp.
Moze po zrobieniu merge production i trunk roznica pomiedzy tymi dwoma drzewami powinna wrzucic sie przez FTP?

Piotr jak to widzisz ?
PiotrLegnica
Ja bym pewnie zrobił tak, że post-commit przeszukuje wiadomość w poszukiwaniu komendy uploadu (coś w stylu http://trac.edgewall.org/browser/trunk/con...st-commit-hook), albo bierze pod uwagę tylko pliki zmienione w branches/production.
NoiseMc
Tak wiec pobawilem sie, zainstalowalem u siebie Win32 packages built against Apache 2.0 i skonfigurowalem apacza co bym mogl z repozytorium korzystac przez http://localhost/repos/project.
Calosc bardzo latwa jedyne co trzeba zrobic samemu to dodac <location> w httpd.conf. Repozytorium stworzylem przy pomocy TortoiseSVN.

Zaimportowalem projekt do repozytorium najpierw do uworzonego jako FSFS potem jako BDB ... FSFS jest szybszy BTW ale ... przy checkoutowaniu projektu za kazdym razem (juz z 10 podejsc robilem) wyskakiwalo mi:
Cytat
Can't move "d:\Public_HTML ....... \.svn\tmp\entries" to "d:\Public_HTML\........\.svn\entries" Odmowa dostepu

Co dziwne za kazdym razem przy innym pliku, checkout robilem do katalogu shirts.local potem pomyslalem ze to moze ta kropka cos ... i zmienilem na shirts ... dalej blad. Tak wiec do katalogu i "svn update" przy FSFS cos sie tam krzaczylo natomiwst przy BDB w koncu sie projekt wy-checkout-owal.

Dziwne to wedlug mnie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.