Video of the week

This is a must-watch video about one of us trying to reach the stars :-)

Well done #HRejterzy

Programowanie zespołowe (SVN)

Z pewnością zastanawiałeś / -aś się nad problemem realizacji programu w zespole - przecież można podzielić zadania i zakcelerować pewne działania, więc czemu nie skorzystać z takiej możliwości rozwiązywania problemu? Postaram się tutaj możliwie zwięźle i praktycznie opisać co sam musiałem zrobić, aby umożliwić mojej grupie pracę w grupie. Utwórz sobie oddzielny katalog w swoim katalogu projektów i nazwij go SVN (kopiuj tam wszystkie pliki, ściagaj tam i instaluj wszystko w ramach wprowadzenia do programowania zespołowego - wszystko prócz instalacji WAMP'a w tym katalogu).

1. Środowiskiem programistycznym z którego korzystam jest Microsoft Visual Studio 2008 i w tym środowisku realizowaliśmy projekt zespołowy. Zakładam, że potrafisz utworzyć nowy projekt w tym programie - zatem zrób to niezwłocznie w dowolnym miejscu na Twoim dysku. Utwórz zwyczajny projekt testowy z jedną formą i tytułem na pasku - tyle wystarczy.

2. Jakiś czas temu zainstalowałem sobie WAMPServer 2.0 - serwer HTTP Apache 2.2 razem z PHP 5.3.0 i serwerem MySQL 5.1.36 - będziesz musiał zainstalować podobny pack serwerów lub samego Apache'a bez serwera bazy danych (radzę zainstalować taki pack bo prędzej niż później będzie Tobie potrzebny).

Pobierz WAMP

3. Okey - utworzyłeś projekt w Visual Studio, zainstalowałeś Apache'a (WAMP) - teraz musisz uruchomić WAMP i przyjrzeć się menu Apache / Moduly Apache:

wamp modules

Potrzebujesz doinstalować do Apache'a dwa moduły - dav_svn_module oraz authz_svn_module - w WAMPie w wersji 2.0 jest już dostępny moduł mod_dav.so, więc znajdź na liście modułów nazwę dav_module i kliknij na nią aby aktywować moduł i zrestartować serwer Apache.

Skąd pobrać dodatkowe moduły do Apache? Pobierz te dwa pliki stąd - pobierz. Zainstaluj sobie tę paczkę w katalogu SVN i przejdź do jego zawartości:

mod authz

Skopiuj te dwa pliki *.so do katalogu modułów Apache'a - w przypadku mojej instalacji WAMP'a jest to katalog -

apache mod dir

4. Czym jest pobrana przed chwilą paczka? - svn-1.4.6-setup.rar -Jest to oprogramowanie serwera i klienta systemu kontroli wersji Subversion (następcy CVS). Więcej o tym możesz przeczytać np. tutaj. Pora utworzyć swoje pierwsze repozytorium na pierwszy projekt. Repozytorium to właśnie katalog z Waszym projektem - jak go utworzyć:

svnadmin

project2

Katalog Repositories utworzyłem już wcześniej w katalogu treningowym SVN. W katalogu Repositories utworzyłem przy pomocy aplikacji svnadmin.exe nowe repozytorium o nazwie "project2".
 
5. Okey pora na zmiany w pliku konfiguracyjnym Apache'a czyli httpd.conf ( C:\wamp\bin\apache\Apache2.2.11\conf ):

httpd conf0

Dopisz LoadModule dav_svn_module [ścieżka_do_pliku] i LoadModule authz_svn_module [ścieżka_do_pliku] tak jak na powyższym rysunku uwzględniając ścieżkę do plików na własnym komputerze. Moduł drugi czyli authz_svn_module nie jest niezbędny ale może się przydać w bardziej zaawansowanej konfiguracji SVN.

Kolejna zmiana:

httpd conf1

Umieść ten wpis na końcu pliku httpd.conf - podajesz tutaj lokalizację do repozytorium Waszego projektu a nazwa Location /project2 oznacza, że w przeglądarce WWW po wpisaniu http://localhost/project2 zobaczycie pliki waszego projektu.

revision0

Repozytorium jest puste bo utworzyłeś jedynie szkielet repozytorium projektu - żadnego projektu jeszcze tam nie ma i czas to zmienić.

6. Teraz zainstalujesz popularnego klienta SVN o nazwie TortoiseSVN - pobierz.

7. Znajdź katalog projektu Visual Studio i kliknij na niego prawy i z menu wybierz TortoiseSVN->Import :

svn import

URL of repository - czyli adres Waszego repozytorium - tam zostaną zaimportowane pliki z projektu Visual Studio (klikaj OK)

svn import2

8. Małe podsumowanie ale jeszcze nie koniec - na lokalnym komputerze masz uruchomiony serwer WWW (Apache) i na lokalnym dysku utworzyłeś repozytorium o nazwie project2, w którym posiadacie wspólny projekt Visual Studio. Każdy w lokalnej sieci może połączyć się teraz z Twoim serwerem WWW i przejrzeć pliki projektu. Okey co dalej? - teraz kolega / koleżanka na innym komputerze wykonuje operację "checkout" czyli :

checkout

checkout2

W katalogu na dysku H: zostanie utworzony katalog project2 i zostaną umieszczone w nim wszystkie pliki projektu Visual Studio. Taką operację może na swoim komputerze wykonać każda osoba biorąca udział w projekcie. Teraz posiadacie wszyscy kopie projektu na swoim komputerze i możecie wprowadzać zmiany w plikach, za które odpowiadacie z osobna.

project2 2

Niech Ciebie nie zmyli ścieżka katalogu w porównaniu do wcześniejszego rysunku - katalog H:\Projekty\SVN\project2 niczym nie różni się od H:\w3af\project2 - zwyczajnie wcześniej pobrałem już pliku projektu Visual Studio do katalogu H:\Projekty\.. i nie pobierałem projektu ponownie do katalogu w3af.

9. Okey i ostatnia rzecz - wprowadzisz teraz zmiany w swoim projekcie - przejdź do katalogu projektu (takiego jak wyżej) i utwórz w nim nowy plik tekstowy o nazwie testowy.txt i wpisz tam coś a następnie kliknij prawym na katalog project2 i wybierz SVN Commit... :

commit

Klikasz OK na koniec swojej pracy z lokalną kopią projektu i wszystkie Twoje zmiany w projekcie zostaną przesłane na serwer. Oznacza to również, że wszystkie Twoje zmiany są od tego momentu dostępne dla innych i analogicznie ich przesłane zmiany będą dostępne dla Ciebie:

update

Po kliknięciu SVN Update w menu katalogu project2 cały projekt zostaje zaktualizowany.

revision2

Tak wygląda katalog WWW repozytorium czyli katalog Waszego projektu. Bardziej zaawansowana konfiguracja SVN i httpd.conf zakłada utworzenie użytkowników i grup, haseł dostępu do projektów - jeśli pracujecie w lokalnej sieci z serwerem WWW nie podłączonym do zewnętrznego interfejsu sieci to można pominąć te elementy konfiguracji w pierwszej fazie wykorzystywania systemu kontroli wersji SVN.