Bazaar-NG: prywatne repo na zwykłym hostingu
Jesteś programistą/projektantem stron/użytkownikiem… Często chciałbyś mieć niektóre pliki dostępne zdalnie (np. kod źródłowy programu/strony) i chciałbyś być pewny, że na pewno jest to wersja najświeższa.
Oczywiście można nosić pliki na kluczyku USB i kopiować w jedną i drugą stronę. To rozwiązanie ma tą zaletę, że nie potrzebujesz Internetu by dostać się do swoich plików. Ważne? Oczywiście, ale…
Ale niezbyt poręczne. Musisz za każdym razem pilnować by pliki na kluczu były wersjami świeżymi, kopiować pliki, sprawdzać daty utworzenia, itp..
Hmmm.. ale Ty jesteś mądrzejszy! Masz przecież hosting www i korzystasz z FTP! Świetnie! Pliki są dostępne tam gdzie sieć, nie trzeba nic nosić, ale… ale nadal musisz sam to kopiować i porównywać daty..
A może by tak wykorzystać narzędzia kontroli kodu źródłowego? Hmm.. Większość tych narzędzi wymaga bezpośredniego dostępu do konfiguracji serwera WWW co w przypadku dzielonego hostingu jest wykluczone. Czyżby porażka? Niekoniecznie…
Istnieje, ciągle w fazie rozwoju (a co nie jest ciągle w rozwoju w przypadku OpenSource?), system kontroli wersji, który ani nie wymaga dostępu do konfiguracji Apache, ani nie wymaga żadnych skomplikowanych baz danych itp.
To Bazaar-NG, rozproszony system kontroli wersji (DRCS/DSCM).
System ten został zaprojektowany i napisany w Pythonie. Jego rozwój wspiera firma Canonical – to ci od Ubuntu. Sam Bazaar wywodzi się od GNU Arch’a i tla. Ich protokoły są teoretycznie wspólne..
No dobrze, ale cóż ten Bazaar potrafi? Nie będę się tutaj rozwodził. Przeczytaj dokumentację. W szczególności prościutki podręcznik.
A teraz do sedna sprawy: jak umieścić dzielone repozytorium na zwykłym hostingu? I jeszcze zabezpieczyć je hasłem? I jeszcze takim, gdzie nie ma dostępu do shella i pythona?
Bardzo prosto. I to głównie dzięki temu, że cały system Bazaar opiera się po prostu o pliki.
Jedziemy! Założę tutaj, że na Twoim komputerze działa już Python i Bazaar.
Przede wszystkim zakładamy dzielone repozytorium
bzr init-repo repo
Aby było łatwiej później diagnozować możesz w tym katalogu założyć plik index.html z dowolną treścią.
Zakładamy teraz projekt w tymże repozytorium
cd repo bzr init MojeSzablonyJoggera
Super! W naszym repozytorium jest już projekt. Możemy teraz sprawdzić czy na pewno działa próbując utworzyć kopię roboczą tego projektu
bzr branch pełna_ścieżka/do/repo/MojeSzablonyJoggera ścieżka/do/katalogu_projektów/SzablonyRozwojowo
I.. już. W katalogu ścieżka/do/katalogu_projektów/ powinien pojawić się podkatalog SzablonyRozwojowo z jednym podkatalogiem „.bzr”. Jeśli tak nie jest, cóż, trzeba sięgnąć do dokumentacji. Jeśli wszystko jest ok – jedziemy dalej.
Tak uformowany katalog z repozytorium przenosimy przy pomocy ftp do katalogu public_html naszego hostingu. Sprawdzamy czy działa po prostu wpisując w przeglądarce
http://domena.tld/repo
Na ekranie powinna pojawić się zawartość pliku index.html, wcześniej umieszczonego w repo.
W zasadzie na tym można skończyć. Naszego repo używa się np. tak:
bzr branch http://domena.tld/repo/MojeSzablonyJoggera
Aby zsynchronizować nasze lokalne repozytorium należy użyć polecenia
bzr push ftp://uzytkownik@domena.tld/repo/MojeSzablonyJoggera
zakładając, że główną ścieżką ftp uzytkownika jest domena.tld. Musimy użyć protokołu FTP (można SFTP) gdyż HTTP samo w sobie nie pozwala na zapis plików. W przygotowaniu jest plugin bzrWebDAV - wtedy, jeśli serwer obsłuży, będzie można używać protokołu WebDAV do synchronizacji.
Aby poznać podstawowe operacje Bazaar, sięgnij do prostego podręcznika.
±
Komentarze do wpisu "Bazaar-NG: prywatne repo na zwykłym hostingu":
Jeszcze nie ma żadnych komentarzy. Twój może być pierwszy.
Dodaj komentarz: