Maven
Od pewnego czasu używam
Amazon S3 jako repozytorium Mavenowego - pozwala przechowywać i udostępniać ogromne ilość danych przy znikomych kosztach. Składowanie w repozytorium kilkudziesięciu bibliotek i używanie ich w kilku różnych projektach kosztuje miesięcznie 0,06 $. Fakt że transfer jest niewielki (ściągnięcie nowej wersji biblioteki raz na jakiś czas na 2-3 komputery z których korzystam), ale nawet przy pobraniu kilku GB miesięcznie zmieściłbym się w 1 $.
Jedyną wadą S3 jest specyficzny model przechowywanie danych: nie mamy do dyspozycji tradycyjnego systemu plików. Na głównym poziomie są tzw. kubełki (
buckets) a w nich tylko i wyłącznie pliki (nie ma katalogów), jednak w nazwie pliku dopuszczalne są znaki "/". W praktyce działa to tak:
- tworzymy kubełek, np. moje.repozytorium.com, nazwa musi być unikalna w obrębie całego S3 więc dobrą praktyką jest tworzenie ich na podobnych zasadach co nazwy pakietów w Javie
- chcąc dodać artefakt do repozytorium nadajemy mu nazwę będącą pełną ścieżką, np. javax/transaction/jta/1.1/jta-1.1.jar
- tak utworzony plik jest dostępny pod adresem http://moje.repozytorium.com.s3.amazonaws.com/javax/transaction/jta/1.1/jta-1.1.jar
Do zarządzania plikami dobrze jest znaleźć narzędzie pozwalające oglądać zawartość kubełków jako tradycyjny, hierarchiczny system plików. Ja używam
Transmita, jednak nie z powodu jego wyjątkowych zalet - po prostu już wcześniej korzystałem z niego jako klienta FTP/SFTP. Najbardziej uniwersalnym rozwiązaniem wydaje się
S3Fox - rozszerzenie do Firefoxa umożliwiające dostęp do S3 z przeglądarki.
SVN
Oczywiście istnieje wiele serwisów służących do zarządzania projektami i oferujących repozytorium SVN, ale większość z nich nastawiona jest na projekty o otwartym kodzie źródłowym. Do zdalnego przechowywania prywatnego kodu całkiem przyzwoity wydaje się
XP-Dev.com. Jeżeli wystarczy nam 500 MB miejsca na serwerze i obejdziemy się bez backupów to jest całkowicie darmowy, opcja płatna (40 $ rocznie) daje 2 GB przestrzeni, backupy i dostęp przez SSL.
Po założeniu konta
stefan i utworzeniu repozytorium
modrzew jest ono widoczne pod adresem
http://svn.xp-dev.com/svn/stefan-modrzew/. Serwis nie ma limitu na liczbę użytkowników, projektów i repozytoriów, dodatkowo dostajemy forum, wiki, bug trackera, możliwość importu/eksportu repozytorium z/do pliku oraz narzędzia wspomagające prowadzenie projektu zgodnie z metodologią Extreme Programming.
Używam XP-Dev od niedawna i zapewne z czasem znajdzie się coś, do czego można się przyczepić ale jak dotąd sprawdza się bardzo dobrze.