Msaada: Uwasilishaji Unaoendelea ni nini

Hapo awali sisi aliiambia kuhusu Continuous Integration (CI). Tuendelee na Continuous Delivery. Hii ni seti ya njia za ukuzaji wa programu. Husaidia kuhakikisha kwamba msimbo wako uko tayari kutumika.

Msaada: Uwasilishaji Unaoendelea ni nini
/Pixabay/ bluebudgie / PL

Hadithi

Kifungu cha maneno kuendelea utoaji kinaweza kuonekana nyuma ilani ya haraka kutoka 2001 mwanzoni mwa orodha ya kanuni za msingi: "Kipaumbele ni kutatua matatizo ya wateja kupitia utoaji wa programu zinazosasishwa."

Mnamo 2010, Jez Humble na David Farley walitolewa kitabu kwa Utoaji Unaoendelea. Kulingana na waandishi, CD inakamilisha mbinu hiyo Ushirikiano unaoendelea na hukuruhusu kurahisisha utayarishaji wa msimbo wa kupelekwa.

Baada ya kuchapishwa kwa kitabu hicho, mbinu hiyo ilianza kupata umaarufu na katika miaka michache tu ikawa karibu kukubalika kote. Kulingana na utafiti, iliyofanywa kati ya watengenezaji zaidi ya 600 na wasimamizi wa TEHAMA mwaka wa 2014, 97% ya wasimamizi wa kiufundi na 84% ya watayarishaji programu walifahamu Utoaji Unaoendelea.

Sasa mbinu hii inabaki kuwa moja ya maarufu zaidi. Kulingana na utafiti wa 2018 unaohusisha Jumuiya ya IT ya DevOps na Jumuiya ya Jenkins, ni hutumia nusu ya wahojiwa zaidi ya elfu moja waliohojiwa.

Je, Utoaji Unaoendelea hufanya kazi vipi?

Msingi wa CD ni utayari wa msimbo wa kupelekwa. Ili kukamilisha kazi hii, otomatiki ya mchakato wa kuandaa programu ya kutolewa hutumiwa. Inapaswa kuwa ya kawaida katika mazingira tofauti ya maendeleo, ambayo itasaidia kupata pointi dhaifu kwa haraka na kuziboresha. Kwa mfano, kuongeza kasi ya kupima.

Mfano wa mchakato wa Utoaji Unaoendelea unaonekana kama hii:

Msaada: Uwasilishaji Unaoendelea ni nini

Ikiwa mbinu ya Ujumuishaji Unaoendelea inawajibika kwa otomatiki hatua mbili za kwanza, basi Uwasilishaji Unaoendelea unawajibika kwa mbili zifuatazo. Utulivu wa mchakato unahakikishwa, kati ya mambo mengine, na mifumo usimamizi wa usanidi. Wanafuatilia mabadiliko katika miundombinu, hifadhidata na utegemezi. Usambazaji yenyewe unaweza kufanywa kiotomatiki au kufanywa kwa mikono.

Mahitaji yafuatayo yanawekwa kwenye mchakato:

  • Upatikanaji wa habari kuhusu utayari wa kuingia katika mazingira ya uzalishaji na utayari wa kutolewa mara moja (zana za CD hujaribu msimbo na hufanya iwezekanavyo kutathmini athari za mabadiliko katika toleo).
  • Wajibu wa jumla wa bidhaa ya mwisho. Timu ya bidhaa - wasimamizi, watengenezaji, wanaojaribu - fikiria juu ya matokeo, na sio tu juu ya eneo lao la uwajibikaji (matokeo yake ni toleo la kufanya kazi ambalo linapatikana kwa watumiaji wa bidhaa).

Katika CD kawaida hutumiwa ukaguzi wa nambari, na kwa ajili ya kukusanya maoni ya wateja - kanuni uzinduzi wa giza. Kipengele kipya hutolewa kwanza kwa sehemu ndogo ya watumiaji - matumizi yao ya kuingiliana na bidhaa husaidia kupata mapungufu na hitilafu ambazo hazikuonekana wakati wa majaribio ya ndani.

Kuna faida gani

Uwasilishaji Unaoendelea husaidia kurahisisha utumaji wa nambari, ambayo ina athari chanya kwenye tija na inapunguza uwezekano wa uchovu wa wafanyikazi. Hatimaye, hii inapunguza gharama za maendeleo kwa ujumla. Kwa mfano, CD ilisaidia moja ya timu za HP kupunguza gharama kama hizo kwa 40%.

Kwa kuongezea, kulingana na utafiti wa 2016 (ukurasa wa 28 hati) - makampuni ambayo yametekeleza CD kutatua matatizo ya usalama wa habari 50% kwa kasi zaidi kuliko wale ambao hawatumii mbinu. Kwa kiasi fulani, tofauti hii inaweza kuelezewa na utendaji wa zana za otomatiki za mchakato.

Nyingine ya kuongeza ni kuongeza kasi ya matoleo. Uwasilishaji endelevu katika studio ya ukuzaji ya Kifini kusaidiwa ongeza kasi ya mkusanyiko wa nambari kwa 25%.

Matatizo Yanayowezekana

Shida ya kwanza na kuu ni hitaji la kuunda tena michakato inayojulikana. Ili kuonyesha faida za mbinu mpya, inafaa kubadili kwa CD hatua kwa hatua, bila kuanza na programu zinazohitaji nguvu kazi nyingi.

Tatizo la pili linalowezekana ni idadi kubwa ya matawi ya msimbo. Matokeo ya "tawi" ni migogoro ya mara kwa mara na kupoteza zaidi kwa kiasi kikubwa cha muda. Suluhisho linalowezekana - mbinu hakuna matawi.

Hasa, katika makampuni mengine shida kuu hutokea kwa kupima - inachukua muda mwingi. Matokeo ya mtihani mara nyingi yanapaswa kuchanganuliwa kwa mikono, lakini suluhisho linalowezekana linaweza kuwa kusawazisha majaribio katika hatua za mwanzo za utekelezaji wa CD.

Unapaswa pia kuwafundisha wafanyikazi kufanya kazi na zana mpya - programu ya awali ya elimu itaokoa juhudi na wakati wa wasanidi programu.

Msaada: Uwasilishaji Unaoendelea ni nini
/flickr/ h.ger1969 / CC BY-SA

Vyombo vya

Hapa kuna zana chache wazi za Uwasilishaji Unaoendelea:

  • GoCD - seva ya uwasilishaji unaoendelea katika Java na JRuby kwenye Reli. Hukuruhusu kudhibiti mchakato mzima wa uwasilishaji wa programu: build-test-release. Chombo hicho kinasambazwa chini ya leseni ya Apache 2.0. Unaweza kuipata kwenye tovuti rasmi mwongozo wa kuanzisha.
  • Capistrano - mfumo wa kuunda hati zinazofanya utumaji otomatiki wa programu katika Ruby, Java au PHP. Capistrano ina uwezo wa kutekeleza amri kwenye mashine ya mbali kwa kuunganisha nayo kupitia SSH. Hufanya kazi na zana zingine zinazoendelea za ujumuishaji na uwasilishaji, kama vile seva ya Uadilifu CI.
  • Kidogo ni zana ya majukwaa mengi ambayo huweka kiotomatiki mzunguko mzima wa ukuzaji wa programu. Gradle hufanya kazi na Java, Python, C/C++, Scala, n.k. Kuna ushirikiano na Eclipse, IntelliJ na Jenkins.
  • Drone - Jukwaa la CD katika lugha ya Go. Drone inaweza kupelekwa kwenye uwanja au kwenye wingu. Zana imeundwa juu ya vyombo na hutumia faili za YAML kuzidhibiti.
  • Spinnaker - jukwaa la utoaji wa nambari endelevu katika mifumo ya wingu nyingi. Iliyoundwa na Netflix, wahandisi wa Google walichukua jukumu kubwa katika ukuzaji wa zana. Maagizo ya ufungaji pata kwenye tovuti rasmi.

Nini cha kusoma kwenye blogi yetu ya ushirika:

Chanzo: mapenzi.com

Kuongeza maoni