Reference: momwe Continuous Integration process imagwirira ntchito

Lero tiwona mbiri ya mawuwa, tikambirana zovuta zakugwiritsa ntchito CI, ndikupereka zida zingapo zodziwika zomwe zingakuthandizeni kugwira nawo ntchito.

Reference: momwe Continuous Integration process imagwirira ntchito
/flickr/ Altug Karakoc / CC BY / Chithunzi chosinthidwa

Nthawi

Continuous Integration ndi njira yopititsira patsogolo ntchito yomwe imaphatikizapo kupanga projekiti pafupipafupi komanso kuyesa ma code.

Cholinga chake ndi kupanga njira yophatikizira yodziwikiratu ndikuzindikira zolakwika ndi zolakwika zomwe zingachitike posachedwa, kuti pakhale nthawi yochulukirapo yokonza.

Mawu akuti Continuous Integration adawonekera koyamba mu 1991. Idayambitsidwa ndi wopanga chilankhulo cha UML Grady Butch (Grady Booch). Katswiriyu adayambitsa lingaliro la CI ngati gawo lazochita zake zachitukuko - Njira ya booch. Zimatanthawuza kuwongolera kowonjezereka kwa kamangidwe popanga makina okhudzana ndi chinthu. Gradi sanafotokoze zofunikira zilizonse zophatikizana mosalekeza. Koma pambuyo pake m'buku lake "Kusanthula Kozikidwa pa Zolinga ndi Mapangidwe Ogwiritsa Ntchito"Ananena kuti cholinga cha njirayo ndikufulumizitsa kutulutsidwa kwa" zotulutsidwa zamkati.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

Mu 1996, CI idalandiridwa ndi omwe amapanga njira kwambiri mapulogalamu (XP) - Kent Beck (Kent Beck) ndi Ron Jeffries (Ron Jeffries). Kuphatikizika kosalekeza kunakhala imodzi mwa mfundo khumi ndi ziwiri za njira yawo. Oyambitsa XP adalongosola zofunikira za njira ya CI ndipo adawona kufunika komanga ntchitoyi kangapo patsiku.

Kumayambiriro kwa zaka za m'ma 2000, m'modzi mwa omwe adayambitsa Agile Alliance adayamba kulimbikitsa njira zophatikizira. Martin Fowler (Martin Fowler). Kuyesera kwake ndi CI kunayambitsa chida choyamba cha mapulogalamu m'derali - CruiseControl. Ntchitoyi idapangidwa ndi mnzake wa Martin, Matthew Foemmel.

Kuzungulira kwachidachi kumayendetsedwa ngati daemon yomwe nthawi ndi nthawi imayang'ana kachitidwe kowongolera mtundu kuti isinthe pama code. Yankho akhoza dawunilodi lero - izo wogawidwa ndi pansi pa layisensi ngati BSD.

Kubwera kwa mapulogalamu a CI, makampani ochulukirachulukira adayamba kuchita izi. Malinga ndi kafukufuku wa Forrester [tsamba 5 lipoti], mu 2009, 86% mwa makampani makumi asanu aukadaulo omwe adafunsidwa adagwiritsa ntchito kapena kukhazikitsa njira za CI.

Masiku ano, machitidwe a Continuous Integration amagwiritsidwa ntchito ndi mabungwe ochokera m'mafakitale osiyanasiyana. Mu 2018, wopereka mtambo wamkulu adachita kafukufuku pakati pa akatswiri a IT kuchokera kumakampani omwe amagwira ntchito, maphunziro ndi azachuma. Mwa anthu zikwi zisanu ndi chimodzi omwe anafunsidwa, 58% adanena kuti amagwiritsa ntchito zida ndi mfundo za CI pa ntchito yawo.

Kodi ntchito

Kuphatikizika kosalekeza kumachokera pazida ziwiri: dongosolo lowongolera mtundu ndi seva ya CI. Chotsatiracho chikhoza kukhala chipangizo chakuthupi kapena makina enieni omwe ali mumtambo. Madivelopa amatsitsa khodi yatsopano kamodzi kapena zingapo patsiku. Seva ya CI imakopera zokha ndi zodalira zonse ndikuzimanga. Pambuyo pake, imayendetsa kusakanikirana ndi kuyesa mayunitsi. Ngati mayeserowo apambana, dongosolo la CI limagwiritsa ntchito code.

General process chithunzichi chikhoza kuyimiridwa motere:

Reference: momwe Continuous Integration process imagwirira ntchito

Njira ya CI imapanga zofunikira zingapo kwa opanga:

  • Konzani mavuto nthawi yomweyo. Mfundo iyi idabwera ku CI kuchokera pamapulogalamu apamwamba. Kukonza nsikidzi ndikofunika kwambiri kwa omanga.
  • Sinthani njira. Madivelopa ndi oyang'anira ayenera nthawi zonse kuyang'ana zopinga pakuphatikiza ndikuzichotsa. Mwachitsanzo, nthawi zambiri pamakhala vuto pakuphatikizana zikutuluka kuyesa.
  • Chitani misonkhano nthawi zambiri. Kamodzi patsiku synchronize gulu ntchito.

Kukhazikitsa zovuta

Vuto loyamba ndi kukwera mtengo kwa ntchito. Ngakhale kampani ikugwiritsa ntchito zida zotseguka za CI (zomwe tidzakambirana pambuyo pake), idzafunikabe kugwiritsa ntchito ndalama zothandizira zomangamanga. Komabe, matekinoloje amtambo angakhale yankho.

Iwo amachepetsa kusonkhana kwa masanjidwe osiyanasiyana apakompyuta. Kuwonjezera pa kampani amalipidwa kokha pazinthu zomwe zimagwiritsidwa ntchito, zomwe zimathandiza kusunga zowonongeka.

Malinga ndi kafukufuku [tsamba 14 zolemba], kuphatikiza kosalekeza kumawonjezera katundu kwa ogwira ntchito pakampani (poyamba poyamba). Ayenera kuphunzira zida zatsopano, ndipo anzawo samathandizira nthawi zonse pophunzitsa. Chifukwa chake, muyenera kulimbana ndi ma frameworks ndi mautumiki atsopano pa ntchentche.

Vuto lachitatu ndi mavuto ndi makina. Mabungwe omwe ali ndi nambala yayikulu ya cholowa chomwe sichimayesedwa ndi zoyeserera zokha amakumana ndi vutoli. Izi zimatsogolera ku mfundo yakuti codeyo imangolembedwanso CI isanayambe kukhazikitsidwa.

Reference: momwe Continuous Integration process imagwirira ntchito
/flickr/ iwo / CC BY-SA

Amene amagwiritsa ntchito

Zimphona za IT zinali m'gulu loyamba kuyamikira ubwino wa njirayo. Google amagwiritsa kuphatikiza kosalekeza kuyambira pakati pa zaka za m'ma 2000. CI idakhazikitsidwa kuti athetse vuto la kuchedwa kwa injini yosakira. Kuphatikizana kosalekeza kunathandizira kuzindikira mwachangu ndikuthetsa mavuto. Tsopano CI imagwiritsidwa ntchito ndi madipatimenti onse a chimphona cha IT.

Kuphatikizana kosalekeza kumathandizanso makampani ang'onoang'ono, ndipo zida za CI zimagwiritsidwanso ntchito ndi mabungwe azachuma komanso azaumoyo. Mwachitsanzo, ku Morningstar, ntchito zophatikizira mosalekeza zidathandizira kusatetezeka kwa zigamba 70% mwachangu. Ndipo nsanja yachipatala ya Philips Healthcare idakwanitsa kuchulukitsa liwiro la zosintha zoyeserera.

Zida

Nazi zida zodziwika za CI:

  • Jenkins ndi imodzi mwa machitidwe otchuka a CI. Imathandizira mapulagini opitilira chikwi kuti aphatikizidwe ndi VCS zosiyanasiyana, nsanja zamtambo ndi ntchito zina. Timagwiritsanso ntchito Jenkins pa 1cloud: chida zikuphatikizidwa mu dongosolo lathu la DevOps. Amayang'ana pafupipafupi nthambi ya Git yomwe cholinga chake ndi kuyesa.
  • Buildbot - chimango cha python cholembera njira zanu zophatikizira. Kukonzekera koyambirira kwa chidacho ndizovuta kwambiri, koma izi zimalipidwa ndi zosankha zambiri zomwe mungasankhe. Pakati pa zabwino za chimango, ogwiritsa ntchito amawonetsa kutsika kwake kwazinthu.
  • Nkhani CI ndi seva yochokera ku Pivotal yomwe imagwiritsa ntchito zotengera za Docker. Concourse CI imaphatikizana ndi zida zilizonse ndi machitidwe owongolera mtundu. Okonzawo amawona kuti dongosololi ndiloyenera kugwira ntchito m'makampani amtundu uliwonse.
  • Gitlab CI ndi chida chopangidwa mu dongosolo la GitLab lowongolera. Ntchitoyi imayenda mumtambo ndipo imagwiritsa ntchito mafayilo a YAML kuwasintha. Monga Concourse, Gitlab CI imagwira ntchito Zotengera za Docker zomwe zimathandizira kudzipatula njira zosiyanasiyana wina ndi mzake.
  • Kutsatsa ndi seva yamtambo ya CI yomwe imagwira ntchito ndi GitHub, GitLab ndi BitBucket. Pulatifomu sifunikira kukhazikitsidwa koyambirira - njira zokhazikika za CI zokhazikitsidwa kale zimapezeka mu Codeship. Kwa ang'onoang'ono (mpaka 100 kumanga pamwezi) ndi mapulojekiti otseguka, Codeship imapezeka kwaulere.

Zochokera ku blog yathu yamakampani:

Source: www.habr.com

Kuwonjezera ndemanga