Subversion - prepinani mezi vetvemi/repozitari ?

Vlada Macek macek na sandbox.cz
Úterý Srpen 11 00:26:24 CEST 2009


Pavel Benisek wrote:
> Ahoj vsem, mame tri servery (vyvojarsky, testovaci, produkcni) a
> snazime se zautomatizovat vydavani aktualizaci/bugfixu. Na bazi
> souboru nam vse krasne funguje, ale v SVN mame jen vyvojovou verzi.
> Jenze ja bych rad mel v SVN vsechny tri verze. Jsou sice temer
> totozne, ale jen temer.

Zdar Pavle, ctu si Vas dotaz uz ponekolikate a porad se nemuzu zbavit
dojmu, ze bud jsem natvrdly nebo je Vase vyvojarske workflow nejake
strasidelne.

Vetsina SCM (zde SVN) umoznuje branching, tedy vetveni vyvoje, uvnitr
jedineho repozitare. U vas by to byly oficialni vetve dev, testing a
production. A treba dalsi neoficialni, docasne, podle aktualnich potreb
vyvojaru. Viz dokumentaci, hromada tutorialu...

Pred necelym rokem me jeden klient, na jehoz projektech pracuji, donutil
naucit se Git. Myslel jsem si, ze kdyz pouzivam SVN a pri potrebne
distribuovaneho SVN jeste Darcs, tak mam vse, co potrebuju. Velky omyl.
Sice chvili trva, nez se clovek Git nauci, ale nyni je kazda prace s nim
poteseni. Silne doporucuji tento cim dal vic popularni SCM vyzkouset.

S Gitem ma kazdy vyvojar svou kopii repozitare, pohodlne synchronizuje s
centralou jen kdyz je potreba, prehazuje commity mezi vetvemi dle
libosti. Ma k dispozici rozsahle vyvojove a statisticke moznosti a dale
dulezity vizualizacni nastroj gitk.


> To lze samozrejme vyresit vytvorenim tri repozitaru. Problem nastava
> v tom ze pri presunu kodu z jednoho serveru na druhy bych rad
> automatizoval i vkladani prislusnych souboru do SVN. Bohuzel to nelze
> delat ze serveru co jsou venku z firmu (testovaci a produkcni) kvuli
> firewallu ke kteremu nemam pristup. Tim padem se to musi udelat z
> vyvojarovo stroje nebo z vyvojarskeho serveru.

Pochopil jsem, ze testovaci a produkcni server mate mimo svou sit, ale
na nich muzete spravovat provoz sveho produktu napriklad pomoci SSH. Na
produkcni serveru se z principu nevyviji, melo by na nem dochazet pouze
k aktualizacim na nove commity (idealne oznacene inkrementovanym cislem
releasu/verze), ktere jsou predem otestovane na testovacim serveru. Na
testovacim serveru by take mela byt snaha potlacit vyvoj, aby se co
nejvic simuloval stav na serveru produkcnim.

Tim spise, jsou-li testovaci a produkcni server mimo firmu, vubec bych
na nich z duvodu ochrany dusevniho vlastnictvi nepracoval s repozitari.
Pouze na nich rsyncem (SSH) aktualizoval kod, ktery na nich chci zrovna
bezet. Jen tip, Vase situace muze byt jina.

-- 
\//\/\
http://macek.sandbox.cz
http://www.easis.cz



Další informace o konferenci Linux