DEVOPS I: Programaziorako bertsio kontrol sistemak

Aurreko artikuluan softwarearen garapen prozesuan parte hartzen zuten atalez sakonago hitz egiteko konpromesua hartu genuen. Hemen gatoz lehenengoarekin.

Kodeketa edo programazioa. Askotan hitz egin da programazioari buruz eta ez gara programazio lengoaiez, IDE edo frameworkez hitz egiten hasiko. Bakoitzak bere gustuak ditu eta egin beharreko software motaren arabera bata edo bestea aukeratu dezakegu.

Software garatzaile bakar bat izatetik, taldean garatzera pasa gara. Lehen garrantzitsua bazen kodearen bertsioak kudeatzea, oraindik eta garrantzitsuagoa bihurtu da. Garatzaile asko iturburu kode edo kode zati berdinaren gainean aldaketak egiten, bertsio kudeaketarik gabe, ideia txarra izan daiteke.

Hainbat urtetan fitxategien eskuzko kopiak, CVS eta SVN erabili dira baina azkenaldian GIT-ek bereganatu du fama gehien.

Git

Git Linus Torvaldsek garatutako bertsio kontrolerako aplikazio bat da, aldaketen fidedagarritasuna eta efizientzia bermatzeko. Hasieran iturburu kode fitxategi kopuru handiak kudeatzeko helburuarekin sortu zen eta gaur egunean softwarerik erabilienetakoa izatera iritsi da. Linus berak zioen Git Linuxeko kernelaren garapenean izandako esperientziaren fruitua izan dela, zeren eta Linuxeko kernelaren garapenean munduan zehar kokaturiko garatzaile askok hartzen dutela parte eta kode guztia mantentzea bestela ezinezkoa izango zela.

Hurrengoak dira Git-aren ezaugarririk nagusienak:

  • Garapen ez lineala. Adarretan oinarritzen da eta adar ezberdinen arteko nahasketak onartzen dira.
  • Kudeaketa banatua. Aldaketen historia guztia urruneko nahiz biltegi lokalean gordetzen dira. Aldaketan lehenik biltegi lokalean gordetzen dira eta beranduago urrunekoarekin sinkroniza daitezke.
  • Fitxategi asko dituzten proiektu handien kudeaketa. Fitxategietan bertan islatutako aldaketek proiektu handien kudeaketan laguntzen du.
  • Protokolo anitz. Protokolo propioa erabiltzeaz gain, HTTP, Rsync eta FTP protokoloak erabili daitezke baita SSH bidez zifratutako komunikazioa ere.

Hurrengo irudia Git erabiliz kudeatutako proiektu baten aldaketa historia da. Bertan Git-aren garapen ez lineala ikus daiteke. Esan bezala, grafikoki zuhaitz baten adarrak bezala irudika daiteke, non adarraren nodo bakoitza aldaka konkretu bat den. Adarrak beste adarrekin konbina daitezke baita atzera bota ere.

Aldaketen historia modu grafikoan

Komando lerrotik, interfaze grafikodun aplikazio bat (smartgit, bitbucket) edo web bidez (gitlab, github, git web) uztiatu daiteke.

Metodologia

Taldean lan egiten denean Git bezalako tresna bat izateak ez du bizitza soluzionatzen. Taldean denek jarraituko duten metodologia bat zehaztu beharra dago.

Hauek dira Git-aren erabilerarik nagusienak:

  • Adar nagusia (Master): Hemen aplikazioaren bertsio egonkorra gordeko da. Normalean produkzioan publikatzen den bertsioa adar honetatik eratorria izaten da.
  • Garapeneko adarra (Develop): Oraindik produkzioan egin ez diren aldaketa guztiak garapeneko adar honetan bilduko dira. Hala ere ez da erabilera egokia aldaketak adarrean bertan egitea, laguntzako adarretan egin eta behin bukaturik adar honetara konbinatzea baizik.
  • Funtzionalitate berrien adarra (Feature): Adar hau, garapen adarretik sortutako adar laguntzailea da. Funtzionalitate berria bat egin edo aldatu nahi denean erabiltzen da. Aldaketak bukatutakoan adar hau itxi eta garapenarekin konbinatzen da.
  • Arazoak konpontzeko adarra (Hotfix): Produkzioan publikatutako bertsioan arazo edo bug bat aurkitzen denean adar nagusitik abiatutako adarra da. Bertna arazoa konpontzeko aldaketak egingo dira. Adarra ixtean egindako aldaketak berriz ere adar nagusiarekin elkartuko dira.

Hau dena kudeatzen Git flow izeneko tresnak lagunduko digu. Honek erraztu egiten du adarketak eta bertsioen arteko kudeaketak.

Informazio gehiago behar izanez gero Git eta Git Flow-aren web orriak kontsulta ditzazkezu.

Besterik gabe, aitzakiarik ez duzu bertsio kontrolerako tresna bat ez erabiltzeko. Gure gomendioa, kodearen eskuzko kopiak alde batera utzi eta Git bezalako tresna bat erabiltzea da.

Hurrengo artikulurarte.

Ondo izan

Web orri honek cookiek erabiltzen ditu erabiltzailearen nabigazioa errazteko