sprava CMS projektu s verzovacim systemom GIT

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
xrep
Člen | 51
+
0
-

Ahoj,

dajme tomu ze vytvaram CMS system na ktorom pobezi niekolko klientov. Pre kazdeho klienta ma toto CMS kopec kodu ktory je „zdielany“ to riesim v Nette cez „AdminModule“ a zlozku „FrontModule“ ktora je v podstate unikatna lebo obsahuje sablony ktore ma kazdy klient ine.

Ako to riesit na Gite resp. co je vhodnejsie riesenie?

  • mat vlastny repozitar pre kazdeho klienta a klonovat to apod, alebo ..
  • mat to v jednom repo a kazdy klient ma svoju branch?

Nastavaju tam potom take otazky ako:

  • Viem z Gitu pulnut iba urcitu branch?
  • Ak bude mat kazdy klient vlastne repo, ako budem aktualizovat kod ak vyjde nova verzia CMS? (resp. ako to jednoducho dostanem do kazdeho repozitara)
Filip Klimeš
Nette Blogger | 156
+
0
-

Ahoj,
oba dva přístupy se mi jeví jako trade-offs, ze kterých si můžeš vybrat.

Vlastní repozitář pro každého klienta je bezpečnější, protože klient se případně nedostane přes GIT ke kódu ostatních, nesmaže nějakou z větví atp. Určitě můžeš natahovat commity z jiného repozitáře (ke kterému nebude mít klient push práva), umí to např. GitHub (forky můžou tahat z originálního repozitáře).

Samozřejmě, pokud budeš mít k serveru přístup pouze Ty, můžeš zvolit jednodušší cestu a dělat vše v jednom repozitáři. Musíš si ale dát větší pozor. Zakázat přístup k ostatním větvím může být komplikovanější.

Nejideálnější by samozřejmě bylo mít vytvořenou závislost na CMS přes composer, ale nevím, jestli to v Tvém případě půjde.

Editoval Filip Klimeš (12. 4. 2015 14:44)

xrep
Člen | 51
+
0
-

Ahoj,

vdaka za odpoved, trochu o tom citam a zatial to vidim takto

Pristup kde je viacero vetvi:

  • nizsie poplatky v pripade pouzitia GitHub (kde cena rastie s poctom repozitarov), Bitbucket (kde cena rastie s poctom uzivatelov)
  • ovela vacsia praca pri sprave projektu, zakladani noveho (natiahnutie iba urcitej branche, nastavenie „untrack“ ostatnych branchi a podobne)

Pristup kde je viacero repozitarov:

  • Nemoznost pouzit GitHub (max 50 repozitarov), u Bitbucket je repozitarov neobmedzene ale zbytocne poplatky ak je viacero userov
  • da sa riesit vlastnym git serverom, prip pouzit GitLab
  • jednoduchsia sprava projektu cez Git

cize vyhodnejsie mi pride mat viacej repozitarov..

Editoval xrep (12. 4. 2015 15:10)

Tomáš Jablonický
Člen | 115
+
+5
-

Já osobně bych CMS rozdělil do několika modulů a tyto moduly by měli vlastní repo. Dále bych si vytvořil sandbox celého CMS.

Moduly bych pak udělal jako composer balíčky a zaregistroval je do composer.jsonsandboxu a nainstaloval.

Pro každého klienta bych si pak vedl vlastní repo s klonem sandboxu.

Když bude požadavek něco změnit, uděláš to v příslušném modulu s ohledem na zpětnou kompatibilitu.