maciu
22.01.2009, 15:22:52
Na jednym serwerze mam postawiony svn z repozytorium. Ten sam serwer służy również jako serwer producencki, gdzie wystawiam efekty mojej pracy na zewnątrz. Natomiast na localhoscie mam serwer deweloperski (kopie roboczą).
W jaki sposób można zrobić synchronizację lub kopię plików mojej kopii roboczej (lub plików z repozytorium) z serwerem producenckim.
Mogę skorzystać z funkcji export, ale ona mi tylko eksportuje na mój dysk lokalny, na producencki nie mogę.
Myślałem, że można to zrobić poleceniem switch, ale to chyba też nie do tego służy.
M4chu
22.01.2009, 19:07:13
Nie wiem czy dokładnie o to chodzi, ale dla mnie swego czasu fajnie działało zrobienie checkout'a stabilnego branch'a i tylko odswieżanie kopii roboczej na serwerze.
Można też to zrobić za pomocą export'a, wtedy gotowy katalog projektu wysyłasz sobie (FTP/rsync) na serwer.
W każdym razie polecam narzędzie Capistrano - działa również dla PHP.
chudykrzys
22.01.2009, 19:54:59
Jeśli dobrze rozumiem to według mnie powinieneś zrobić tak:
1. Na serwerze producenckim na którym masz apache zainstaluj klienta svn.
2. Do folderu apache w którym chcesz umieścić swoją aplikację pobierz kod (checkout).
3. Kopie lokalne normalnie commitujesz, a kiedy uznasz ze kod jest stabilny robisz update na serwerze docelowym. W razie czego zawsze możesz cofnąć zmiany.
4. Pamiętaj ukryć pliki .svn przez .htaccess żeby nikt nie dostał się do nich przez przeglądarkę.
dr_bonzo
22.01.2009, 21:16:36
Nie wiem czemu nie mozesz skorzystac z najprostszego rozwiazania - masz publicznie dostepny serwer svn wiec na lokalu i serwerze produkcyjnym czekautujesz projekt. Zmiany wprowadzasz na lokalu a gdy potrzebujesz to uaktualniasz na serwerze (svn up, czy tez svn switch do innego taga). Po to zostal svn stworzony.
maciu
23.01.2009, 11:34:46
zapomniałem dodać, że nie mam dostępu do shella na serwerze producenckim, co mnie mocno ogranicza. I chyba jedyna metoda jaka mi zostaje to lokalny eksport projektu a następnie ręczne kopiowanie przez ftp.
dr_bonzo
23.01.2009, 14:15:45
Jeszcze masz opcje korzystania z post-commit hooks i robienia svn up na serwerze, albo bedzie ci updejtowalo system z kazdym commitem (co nie jest najlepszym rozwiazaniem dla systemu produkcyjnego - ale najprostsze do wykonania), albo bedziesz commitowal do "prod" brancha (svn merge ...) - tylko sprawdzony i przetestowany kod, a na bierzaco bawil sie w trunk/
Albo pogadaj z adminem/wlascicielem serwera - skoro i tak mozesz mieszac im w plikach (dostep przez FTP) to czemu maja ci to utrudniac nie dajac dostepu przez ssh
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.