NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Synchronizace dat

Aktivity
Avatar
Pavol Hejný
Tvůrce
Avatar
Pavol Hejný:8.1.2018 14:44

Mám dva počítače a několik desítek repozitářů. Potřeboval bych nějaký rozumný způsob, jak mezi nimi synchronizovat data. Synchronizace dat přes Git je super, ale někdy bych rád přerušil práci na jednom pc uprostřed commitu.
Mnoho z těchto repozitářů obsahuje věci, co se necommitují - konfigurace, buildy, balíčky apod.

Napadají mě 2 možnosti, ale obě mi příjdou trochu těžkopádné:

  • Dropbox - problém vidím, pokud by mi měl Dropbox synchronizovat to ohromné množství souborů v node_modules.
  • Napsat si vlastní skript, který proiteruje všechny repozitáře a udělá na nich git pull, npm install,... ale to neřeší např. ty konfigurace.

Existuje nějaký elegantní způsob určený pro tenhle případ?

Odpovědět
8.1.2018 14:44
/^(web )?(app )?developer$/
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Pavol Hejný
David Jančík:8.1.2018 15:44

Tohle se ještě celkem dá. Já osobně to syncuju všecko přes Dropbox, to co nechceš synchronizovat prostě unlinkneš. Větší problém mě osobně dělá synchronizace databáze :D

Každopdáně:
V Seznamu jsme to dělali tak, že si měl svoji větev, kam sis pushoval všecko cos potřeboval a pak se to mergovalo do masteru, takže si mohl klidně mít nějakou větev a pushovat tam rozdělaný nefunkční kód, protože to bylo jedno. Obsahovalo to jen scripty a konfigy. Když sis to stáhl tak si pustil script něco na styl tvé druhé odrážky, který zařídil aktualizaci balíčků, npm install apod.
Každý sme pak ještě měli vlastní virtuálku na VPN, přes kterou sme to pouštěli = mohl si odkudkoliv na tu virtuálku, blbý je, že potřebuješ internet, na druhou stranu, zase tolik dat to nežere a neřešíš konfigurace.

Doma to řeším všecko přes Dropbox. Jedinej problém je s databází, tu tam dát nemůže (vytvoří ti to milion konfliktních souborů, protože to nebude stíhat syncovat). To řeším vzdáleným přístupem = externí databáze. V případě, že potřebuju pracovat offline hodím si backup a pak si musím poznačit, že musím udělat sync databází = je to pěkně naprd, ale většinou pracuju s přístupem na internet, takže vzdálený přístup je ok.
Co se konfigurace týče (IDE), taky synchronizuju přes Dropbox, takže když si něco změnim, tak prostě pohoda.
A pro všechny případy nevypínám nikdy PC, takže TeamViewer to jistí.

=> Nejideálnější řešení je mít nějaký PC/server se vzdáleným přístupem = virtuálku a k té se připojovat a pracovat na ní - nemusíš nic řešit. Ale občas pracuju i bez netu nebo potřebuju rychlou odezvu, tak to dělám výše uvedeným způsobem. Přijde mi to ideální z pohledu, že nemusíš nic moc řešit (nestane se ti, že zapomeneš commitnout nebo něco a máš problém - samozřejmě musíš nechat prvně syncnout ten dropbox, ale já jsem dost úchylnej na aktualizace, takže sem tam a zejména před tím, než jdu pryč nechám vše syncnout a aktualizovat).

Osobně jsem taky zvědavý jak to řeší ostatní :)

Editováno 8.1.2018 15:50
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
8.1.2018 15:44
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Odpovídá na David Jančík
Patrik Valkovič:8.1.2018 15:49

Řeším to dost podobně, prostě mám zapnutý PC se vzdáleným přístupem a na něm VmWare s virtuálkami. Práce je tak oddělená a dostanu se na něj prakticky z kamakoliv. Problém je teda s tím netem, ale pokud to vím dopředu, tak si virtuálku prostě vyexportuju a natáhnu kam potřebuju, díky tomu mám databázi, konfiguraci i nástroje vše s sebou. Hlavní problém: chce to silnější mašinu.

Nahoru Odpovědět
8.1.2018 15:49
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Patrik Valkovič
David Jančík:8.1.2018 16:01

Mě se úplně nelíbí to, že máš virtuálku na více místech. Když pak uděláš různé změny na obou místech (uděláš změny na ntb, zapomeneš ho někde, budeš potřebovat pracovat tak uděláš další změny doma - tak musíš manuálně synchronizovat pak, jasně malá pravděpodobnost, ale může se stát, je to stejný příklad jako u mě s tím exportem databáze, ale synchronizovat databázi je oproti tomuto velmi jednoduché, např. u MySQL to umí MySQL workbench). A taky to kopírování musí trvat hrozně dlouho.
A osobně mi virtuálka přímo na práci nevyhovuje, spíš tam mám jen ty services a pak to mám prolinkované (pracuje s tím IDE, databáze tam běží apod.), ale samotnou práci dělám mimo virtuálku. Jsem hodně úchylnej na to mít puštěných padesát programů a rychle s něma pracovat na více monitorech a v té virtuálce ač máš počítač jakej chceš, nepřijde mi to úplně ideální. Ale souhlasím s tebou, že to je super způsob i David Hartinger tuto metodu prosazuje.

Nahoru Odpovědět
8.1.2018 16:01
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Pavol Hejný
Tvůrce
Avatar
Pavol Hejný:10.1.2018 16:39

Dík za tipy. Zkusil jsem ten Dropbox a překvapivě to funguje docela dobře i s node_modules.

Nahoru Odpovědět
10.1.2018 16:39
/^(web )?(app )?developer$/
Avatar
Nahoru Odpovědět
10.1.2018 17:10
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.