Hlavní navigace

Gidder: GIT server ve vašem telefonu

30. 11. 2012
Doba čtení: 4 minuty

Sdílet

Verzovací systém GIT už prolezl do mnoha projektů a byl portován na mnoho operačních systémů. Dneska se podíváme na jeden zdařilý port pro operační systém Android. Nástroj se jmenuje Gidder a kombinuje v sobě SSH server s GITem pro ARM platformu. Jeho cílem je vytvořit prostředí pro GIT repositáře.

Pokud tento článek čtete, pravděpodobně víte, co je to GIT a jak se používá a tento odstavec můžete přeskočit. GIT vznikl jako sada nízkoúrovňových nástrojů pro správu verzí, které se postupně vyvinuly samostatného balíku, aniž by uživatelé potřebovali další berličky pro jeho pohodlné používání. Dnes je GIT široce používán a vznikly pro něj služby jako GitHub nebo BitBucket. Pokud chcete GIT repositáře spravovat na svém serveru, pomůže vám v tom gitolite, ale stejně dobře poslouží SSH, rsync, HTTP nebo FTP. GIT je decentralizovaný a pro commitování změn nepotřebujete žádné připojení nebo vzdálený server Stačí v klidu dělat změny a když je vše hotovo, poslat je na požadované místo, ať už to je nějaký GIT repositář nebo e-mailová adresa.

Velkou výhodou GITu je jeho jednoúčelovost. Drží se na svém písečku, spravuje změny v kódu a zbytek nechává na ostatních. Potom nemá problémy s komunikací přes takové množství protokolů a není moc velký problém ho dostat na různé platformy. Androidí aplikace Gidder toho využila a přináší GIT repositáře do vašeho telefonu. Přístup k nim je pak realizován přes WiFi připojení.

Gidder je složen ze třech základních částí. Tou první je port GITu na ARM platformu. Ten je trochu osekaný, protože nepotřebuje podporovat vše co se v GITu nachází, ale pouze operace push, pull, fetch a clone. Druhou částí je SSH server, který ve výchozím stavu poslouchá na portu 2222 a kromě komunikace mezi vámi a GITem v telefonu se stará o správu uživatelů. Tady trochu zamrzí absence podpory ověřování přes klíče, ale není nikde psáno, že to zítra nemůže být jinak. Gidder je mladá aplikace a označená jako beta. Tím se autor spíše chrání, než že by se aplikace chovala nějak nestabilně nebo ztrácela data.

Poslední částí je frontend, kterým se konfiguruje SSH server, GIT repositáře a zároveň se oba nástroje integrují do operačního systému. Když například vyjdete z domu a ztratíte signál vaší WiFi sítě, SSH server se automaticky vypne a v okamžiku, kdy se dostanete do dosahu známé sítě, se opět zapne. Přecházení mezi sítěmi není uživatelsky přívětivé, a tak Gidder přišel s podporou Dynamic DNS. S touto službou Gidder dynamicky nastaví doménové jméno vašeho telefonu podle jeho aktuálního připojení a nemusíte tak zjišťovat, na jaké adrese běží. Oba podporovaní Dynamic DNS operátoři (No-IP, DynDNS) nabízejí pouze placené služby, jejichž cena nemusí být akceptovatelná pro všechny uživatele. Gidder však aktuální adresu, na které SSH poslouchá, nějak neskrývá, takže bez Dynamic DNS se v pohodě obejdete.

Pokud vás Gidder zaujal, není nic jednoduššího než přejít na Google Play a nainstalovat si ho.

Konfigurace

Po spuštění Gidderu se objeví úvodní obrazovka, kde najdete přístup k nastavení chování aplikace, nastavení Dynamic DNS a také repositářů a uživatelů. Z tohoto místa lze také zapnout či vypnout SSH server a vidíte tu aktuální adresu SSH serveru. Po tapnutí na ikonku nastavení na levé straně se dostanete do konfiguračního dialogu, kde lze ovlivnit chování Gidderu vůči vašemu systému. To znamená vypínání/zapínání SSH serveru společně s WiFi připojením, nastavení portu SSH serveru, notifikace v notifikační oblasti a najdete tu také odkaz na tento video tutoriál.

Pod prostředním tlačítkem s nápisem Setup se nachází nastavení uživatelů a repositářů. Uživatele je možné vytvořit i ze seznamu kontaktů. Každému účtu můžete nastavit jméno, uživatelské jméno, e-mail a heslo pro přístup k jeho repositářům. Existující účty lze libovolně aktivovat či deaktivovat a po rozkliknutí detailu je k dispozici přehledný výpis repositářů, ke kterým má uživatel přístup, včetně oprávnění pro push (zápis), pull (čtení) či obojí. Oprávnění pro další repositáře lze odsud doplnit.

Velmi podobně se pracuje s repositáři. U těch je třeba nastavit jméno, popis a cestu, pod kterou budou dostupné. Práva k repositáři se nastavují až po jeho vytvoření. I odsud se dá nastavit, který uživatel může číst a který i zapisovat.

Použití

Na screenshotu jsem nastavil „Testovací repositář“ s cestou „test“, takže za předpokladu, že má telefon adresu 192.168.1.2, bude adresa k tomuto repositáři vypadat takto:

ssh://192.168.1.2:2222/test.git 

V případě, že se podařilo nastavit i uživatele a správná práva, mělo by být možné repositář naklonovat na jakémkoli počítači, který na adresu telefonu může přistoupit.

$ git clone ssh://test@192.168.1.2:2222/test.git
Cloning into 'test'...
test@192.168.1.2's password:
warning: You appear to have cloned an empty repository. 

V repositáři nic není, takže tam něco přidáme a odešleme změny zpět:

$ echo 1234 > data.txt
$ git add data.txt
$ git commit
$ git push ssh://test@192.168.1.2:2222/test.git 

V praxi se gidder chová stabilně, Používám ho 14 dní pro vývoj serverové administrace o velikosti asi 85 MB a několika tisíc souborů a narazil jsem na jediný problém. Když SSH server běží a vypne se displej, tak po pár minutách přestane na IP adrese WiFi rozhraní naslouchat. Stačí SSH server vypnout a zapnout a vše je v pořádku. Nesetkal jsem se s žádnou fatální chybou, kvůli které bych přišel o data.

root_podpora

Data jsou ukládána na SD kartu do adresáře gidder, takže když se něco stane, je možné se k němu dostat připojením telefonu přes USB kabel.

Shrnutí

Osobně si Gidder nedokážu představit jako aplikaci, kterou bych každý den používal. Připojení k internetu je dnes na každém rohu a máme i relativně dostupné mobilní připojení, takže od GIT repositářů na vzdálených serverech je těžké se odříznout. Ale určitě si umím Gidder přestavit třeba v domácím multimediálním centru, které slouží zároveň jako úložiště dat. Aplikace je jinak na profesionální úrovni, má dobré a intuitivní uživatelské rozhraní a neobsahuje žádné fatální chyby.

Byl pro vás článek přínosný?

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.