SzukamNeta.pl Wicket, Maven, SVN, Hudson - tutorial Zważywszy fakt stosowania w realizowanym projekcie wielu różnych narzędzi zarówno po stronie lokalnej, na komputerze programisty, jak i na zdalnym serwerze, za zasadne uznano stworzenie miniporadnika pozwalającego każdemu członkowi zespołu projektowe na szybkie wdrożenie i sprawną pracę. Maven2 Uwaga: instalacja Maven a jest przeprowadzana w momencie instalacji w środowisku Eclipse narzędzia integracyjnego, opisanego poniżej, więc do tego punktu należy wrócić jedynie wtedy, kiedy po instalacji pluginu, maven nie będzie działać. Przebieg instalacji: 1. Ściągamy Mavena ze strony: http://maven.apache.org/index.html 2. Rozpakowujemy w dowolnym katalogu, czytamy README i podążamy za wskazówkami. Eclipse Opis instalacji całego środowiska Eclipse nie jest obejmowany przez zakres tego poradnika, dlatego skupimy się na opisie instalacji dodatków, do działającego już w pełni środowiska (na daną chwilę: wersji Ganymede). Wtyczki WEBTOOLs Przebieg procesu instalacji: 1. Wybieramy z głównego menu Help -> Install New software. 2. Dodajemy u góry nową stronę: http://download.eclipse.org/webtools/updates/ Zaznaczenie wszystkich dostępnych dodatków, może spowodować zwrócenie przez instalatora błędu o niespełnionych powiązaniach, daltego też w celu uniknięcia tych problemów, należy odznaczyć trzy pkiety odpowiedzialne za WebTesty. Wtyczka M2eclipse 1. Ponownie dodajmy kolejną stronę: http://m2eclipse.sonatype.org/update/ Ta będzie instalować narzędzie do integracji z Mavenem. Instalujemy Maven Integration 2. Podczas instalacji wszystko powinno się ładnie udać I chyba będzie chciało zrestartować Eclipse a. 3. Na tym instalacje się kończą. Wtyczka Subversive Jeśli jeszcze nie macie czegoś co działałoby z repozytorium SVN, to trzeba doinstalować: 1. Uruchamiamy Help -> Install New Software
2. Dodajemy stronę http://community.polarion.com/projects/subversive/download/eclipse/2.0/update-site/ 3. Wybieramy Subversive SVN Connectors i stamtąd ja mam zainstalowane: JavaHL 1.6.0 Win32 Binaries Native JavaHL 1.6 Implementation Subversive SVN Connectors 4. Dajemy Finish i instalujemy. Struktura domeny szukamneta.pl W toku zarządzania tym żeby było ładnie, powstały następujące subdomeny: http://wiki.szukamneta.pl Wiki projektu http://www.szukamneta.pl, http://szukamneta.pl Adres pod którym dostępna jest wersja do pokazania klientowi. http://svn.szukamneta.pl nasz SVN. Struktura jest standardowa czyli 3 foldery: o Trunk najnowsza wersja gotowa do deployowania. Poddawana ciągłej integracji i budowaniu co godzinę przy użyciu Hudsona (http://szukamneta.pl:8080/hudson ). o Branches tutaj możecie sobie tworzyć własne gałęzie jak będą jakieś rewolucyjne zmiany o Tags tutaj robimy screenshoty kolejnych buildów. Więcej o tym z czym to się je: http://urzenia.net/351/sposob-pracy-na-subversion-branchetagi-etc/ http://bazawiedzy.cichaprzystan.org/5/sposob-pracy-na-subversion-branche-tagietc/ http://dev.szukamneta.pl tutaj będziemy trzymać wszystkie wersje developerskie i generalnie może tego być ile tylko wam się wymarzy, ale najlepiej żeby każdy po postu miał tutaj swojego DEV a i na nim pracował jeśli chciałby testować. Ale o testowaniu lokalnym też zaraz będzie. http://dev.szukamneta.pl/autobuild - specjalne miejsce na serwerze developerskim, w którym znajduje się najświeższy (generowany co godzinę) build stworzony na podstawie trunk a przez Hudsona. Łączenie z SVNem i pobieranie projektu Na serwerze dev.szukamneta.pl już teraz jest wersja projektu gotowa do dalszej pacy, tj. stworzona za pomocą archetypu i będąca typowym HelloWorld, ale działa i można spokojnie rozbudowywać.
Przejdziemy teraz procedurę łączenia z SVNem i pobierania aplikacji. Uwaga: hasła do SVNa macie takie same jak tego do VersionOne! 1. Włączamy Eclipse a 2. Jeżeli jeszcze nie macie nigdzie widoku SVN To włączamy go za pomocą: Window -> Show View ->Other i wybieramy z SVN opcję SVN Repositories. Pokaże się to co u góry 3. Klikamy albo pod prawym przyciskiem New -> Repository location
4. Dostajemy okienko 5. W url wpisujemy: http://svn.szukamneta.pl 6. User i hasło już znamy więc podajemy. Najlepiej zapisać hasło, to nie będzie o nie się upominać. 7. Klikamy Finish i czekamy aż się wszystko popodłącza. 8. Wracamy do okienka z repozytoriami i widzimy dodane nasze. 9. Rozwijamy trójkącikiem z lewej i widzimy 10. Najnowsza wersja jest w trunk więc klikamy prawym na to i z podręcznego menu wybieramy Uwaga: Wybieramy to z menu podręcznego dla trunk.
11. Otwiera się okienko 12. Nic nie zmieniamy i klikamy Finish. Projekt zainstaluje się w katalogu naszego workspace a w folderze o takiej nazwie jak widać w okienku. 13. Wracamy do Package explorera i widzimy już 14. Możemy pracować. Wysyłanie zmian na serwer Wszelkie zmiany można wysłać za pomocą opcji Team dostępną pod prawym przyciskiem myszy w pokazanym powyżej widoku Project Explorer.
Kompilacja i uruchomienie aplikacji Do kompilacji będziemy wykorzystywać tylko i wyłącznie opcje Maven owe. Buildowanie lokalne Jeśli chcemy odpalić sobie na własnym kompie serwer developerski, nie ma nic prostszego. Maven ma w sobie zaszyty Jetty plugin, który startuje na porcie 8080 i można się do niego dostać przez http://localhost:8080 Aby to zrobić: 1. W elipsie dajemy Ctrl+F11 czyli uruchomienie. 2. Wyskakuje okienko 3. Wybieramy maven build..
4. Mamy kolejne okienko 5. Na samej w górze w Name wpiszmy sobie coś co nam później pomoże znaleźć to co robimy, więc niech będzie Local run albo cokolwiek innego co powie o tym, że jest to lokalne uruchomienie. 6. Pole Base direktory uzupełnione jest z automatu. 7. Do pola Goals wklejamy: install org.mortbay.jetty:maven-jetty-plugin:6.1.21:run 8. Wybieramy run i dajemy Apply a następnie Run. 9. Na konsoli zaczną się pojawiać logi z kompilacji, testowania oraz samego buildowania. Wszystko co będzie potrzebny, czyli np. sam jetty, zostanie pobrane automatycznie i zainstalowane. 10. Na koniec dobrze zobaczyć coś takiego: [INFO] Started Jetty Server 11. A to oznacza, że serwer stoi z przeglądarki możemy spokojnie poklikać. 12. Jak już nam się znudzi klikanie wybieramy Stop z panelu 13. Tyle lolaklnego. Buildowanie zdalne Domyślnie projekt na serwerze jest ustawiony do zdalnego buildowania w katalogu /szukamneta/dev/tmp który na serwerze jest dostępny z poziomu http://dev.szukamneta.pl/tmp.
Jest to typowo tymczasowa lokalizacja. Każdy z nas może sobie dowolnie tworzyć katalogi w obrębie dev a, ale wydaje mi się że każdemu spokojnie wystarczy jeden z imieniem lub ksywką, do którego będzie za każdym razem deployować wyniki swojej pacy i sprawdzać. Aby zmienić zdalny katalog na taki jak wspomniane powyżej należy: 1. W widoku Project Explorer znaleźć w głównym drzewie plik POM.xml kliknąć prawym i Open With -> Text Editor Odszukujemy <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>tomcat-maven-plugin</artifactid> <configuration> <warfile> ${project.build.directory}/${project.build.finalname}.war </warfile> <update>true</update> <path>/szukamneta/dev/tmp</path> <url>http://szukamneta.pl:8080/manager</url> <username>xxxxxxxxx</username> <password>xxxxxxxxx</password> </configuration> </plugin> 2. W znaczniku <path> zmieniamy ostatni człon, np. na Intel, waser itp. 3. Zapisujemy plik. 4. Przechodzimy do konfiguracji Mavena do zdalnego builda. 5. Klikamy Ctrl+F11 i jeśli pokaże nam się to samo okienko to co wyżej to dobrze. Jak nie, to wchodzimy przez Wybierając Run Configurations
6. Widzimy: 7. W drzewku Maven Build klikamy prawym i dajemy New. 8. Nazywamy tak jak ostatnio, czyli tak żebyśmy wiedzieli, ze to jest zdalny build. 9. W Goals tym razem wklejamy: install org.codehaus.mojo:tomcat-maven-plugin:1.0-beta- 1:deploy 10. Tak jak ostatnio klikamy Apply i Run. Śledzimy konsolę w poszukiwaniu tego co nas najbardziej interesuje czyli sformułowania BUILD SUCCESSFUL lub BUILD FAILED. Hudson W ramach zapewniania najwyższej jakości wykonywanego projektu równolegle do build ów wykonywanych przez członków zespołu wykonywane są automatyczne testy, integracja i deployowanie najbardziej aktualnej wersji pobranej bezpośrednio z SVNa, przy pomocy Hudsona. Dostęp do niego, aczkolwiek nie wymagany dla większości członków zespołu, możliwy jest po podaniu loginu i hasła takiego jak do VersionOne. Automatycznie zbudowana aplikacja dostępna jest pod adresem: http://dev.szukamneta.pl/autobuild Grzegorz Musiał, 21.11.09r.