SVN w służbie aplikacji webowej



Tytuł postu nieco przewrotny i niezrozumiały zapewne, ale już tłumaczę o co chodzi ;-)

Subversion, w sktócie SVN, to system kontroli wersji, wzorowany na używanym bardzo często niegdyś CVS.
Osobiście, oraz w pracy, korzystam(y) z SVN bardzo często. Praktycznie każdy projekt podpinam do repozytorium. Dzięki temu mam możliwość cofnięcia aplikacji do dowolnego jej stanu (czy to do rewizji, czy tagu/brancha), no i co najważniejsze dzięki systemowi kontroli wersji nad projektem może pracować niemalże nieskończona ilość developerów.

Nie chcę się tu rozpisywać o tym czym są owe tagi i branche (gałęzie kodu) oraz jak obsługiwać SVN - na to przyjdzie jeszcze czas ;-)

Na razie, chcę zainteresować samą technologią oraz przedstawić wielką korzyść używania repozytorium - aktualizację aplikacji webowej za pomocą tego systemu.

Powiedzmy, że mamy dwa serwery - developerski oraz produkcyjny. Na obu korzystamy z SVN (dla przykładu http://naszserwer.pl/svn/aplikacja).
Na serwerze developerskim rozwijamy aplikację wg założeń, aktualizujemy kod, poprawiamy błędy. Wszystko commitujemy (zapiusujemy) w repozytorium (http://naszserwer.pl/svn/aplikacja/trunk).
Na serwerze produkcyjnym tylko(!) pobieramy daną wersję z repozytorium (głównie z branachy).

Powiedzmy, że mamy osiągnęliśmy pułap, który kwalifikuje nasz kod do wydania kolejnej wersji aplikacji. Tworzymy nowy branch (np. “V2.0″ - http://naszserwer.pl/svn/aplikacja/branches/V2.0). Chcemy pokazać światu nową wersję naszej aplikacji, w tym celu na serwerze produkcyjnym nie pozostaje nam nic innego jak “przepiąć” się na nową wersję.
Aby to zrobić wykonujemy (będąc w katalogu głównym aplikacji):

svn switch http://naszserwer.pl/svn/aplikacja/branches/V2.0

Dzięki temu nasz kod zostanie zaktualizowany do wersji oznaczonej jako “V2.0″.
W każdej chwili, oczywiście, możemy wrócić do aktualnie rozwijanej wersji. W tym celu należy wykonać polecenie:

svn switch http://naszserwer.pl/svn/aplikacja/trunk

Uwaga: pliki konfiguracyjne nie powinny być dostępne w repozytorium (można nadpisać konfigurację serwera produkcyjnego). Sugeruję zapisanie w repozytorium obu wersji plików (np. config.inc.php.dev i config.inc.php.live) i w zależności od typu serwera utworzyć plik config.inc.php będący kopią jednego z wariantów dostępnych w repozytorium.



Dodaj komentarz

Poświęć chwilę na komentarz - wyraź swoją opinię na temat poruszony w tej wiadomości.

*
Udowodnij, że nie jestś botem - przepisz słowo z obrazka poniżej. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

Komentarze

Brak komentarzy - bądź pierwszy - dodaj komentarz!