Programavimas

Kodėl Jenkinsas tampa variklių varikliu

Tokios tendencijos kaip judrus vystymasis, plėtra ir nuolatinė integracija byloja apie šiuolaikinės įmonės poreikį kurti programinę įrangą itin efektyviai - ir, jei reikia, įjungti centą.

Pastarasis manevras yra tai, kaip „CloudBees“ tapo įmone, kokia ji yra šiandien. Kadaise buvęs nepriklausomas, viešas debesų „PaaS“ teikėjas, skirtas „Java“ koduotojams (kurį Andrew Oliveris puikiai įvertino skyrelyje „Kurį freaking PaaS turėčiau naudoti?“), „CloudBees“ prieš 18 mėnesių smarkiai pasuko, kad vėl pradėtų veikti kaip pagrindinis „Jenkins“, labai populiarios atviros, teikėjas šaltinio įrankis programinės įrangos kūrimo procesui valdyti.

Pasak generalinio direktoriaus Sasha Labourey, „Java PaaS“ teikėjas „CloudBees“ „augo gražiai“, tačiau „daug didesnių vaikinų, turinčių didesnius patikrinimus“ nesiryžo įsipareigoti nestabilioje „PaaS“ rinkoje, kuriai trūksta standartizacijos. Tuo pačiu metu Jenkinsas kilo kaip raketa - ir „Labourey“ matė didelę galimybę, ypač todėl, kad „CloudBees“ jau siūlė „Jenkins“ kaip paslaugą ir jau buvo pasamdžiusi „Jenkins“ kūrėją Kohsuke'ą Kawaguchi. Pagrindiniu patiekalu tapo „Jenkins“ patiekalas.

„Jenkins“ žonglierius

Kas slypi Jenkinso populiarume? Paprasčiau tariant, „Jenkins“ tapo atvirojo kodo standartu valdant „devops“ „devops“, nuo šaltinio kodo valdymo iki kodo pristatymo į gamybą. Pasak „Labourey“, „Bendruomenė mato Jenkins kaip orkestravimo ir automatikos variklį ... Manau, kad priežastis, kodėl„ Jenkins “tapo de facto varikliu, yra todėl, kad jis yra labai prijungiamas.“ Atsirado daugiau nei 1100 papildinių ekosistema, leidžianti klientams pridėti įvairiausių funkcijų ir integruoti „Jenkins“ su viskuo, pradedant „Active Directory“, baigiant „GitHub“ ir baigiant „OpenShift PaaS“.

„Jenkins“ yra nuolatinio integravimo (PI) ir nuolatinio pristatymo (CD) sprendimas. KI idėja yra sujungti kodą iš atskirų kūrėjų į projektą kelis kartus per dieną ir nuolat išbandyti, kad būtų išvengta tolesnių problemų. CD žengia šį žingsnį toliau užtikrindamas, kad visas sujungtas kodas visada būtų parengtas gamybai. „Jenkins“ leidžia kūrėjams kuo labiau automatizuoti šį procesą - iki diegimo. „Labourey“ pateikia pavyzdį:

Tarkime, kad įmonė naudoja „Chef“ ar „Lėlę“ diegdama AWS. Jenkinsas neketina to pakeisti. Jenkinsas kvies lėlę tai padaryti - gerai, čia yra bitai, todėl pavadinkime šį lėlių scenarijų ir pažiūrėkime, kaip jis veikia. Lėlės vykdymo rezultatas bus svarbus Jenkinsui, nes jis gali nuspręsti išvynioti diegimą ir imtis tolesnių veiksmų. Mes tai vadiname „vamzdynu“. Tai tikrai ši žingsnių serija. Tai gali būti penki arba 50 žingsnių.

„Labourey“ teigia, kad „Jenkins“ yra darbo eigos variklis valdant šį CI / CD vamzdyną nuo šaltinio iki pristatymo, tačiau pakeliui gali prireikti daugybės skirtingų įrankių, kad atliktų skirtingas funkcijas.

„Docker“ yra viena iš tų priemonių, o „Docker“ kartu su Jenkinsu daro didelį poveikį kūrėjų komandoms. Visi žino, kad „Docker“ supaprastina plėtrą ir žymiai palengvina diegimą, tačiau „Labourey“ pastebi, kad tai taip pat padeda kūrėjams būti sąžiningiems: jie nebegali kaltinti neteisingos kūrimo aplinkos konfigūracijos, kai konstrukcija sugenda ir sudega. Fizinėje mašinoje kūrimo aplinka palaipsniui sugenda, netyčia sukeldama statybas. Bet kai koduojate ant nesugadinto „Docker“ vaizdo, turite kaltinti tik savo sugedusį kodą, kai versijos nebus vykdomos.

Kartu „Jenkins“ ir jo integruota ekosistema teikia koordinuojančią programinę įrangą, skirtą judriam vystymuisi, ir, plačiau tariant, yra „devops iniciatyvos esmė“, sako Labourey.

Kelionė iš čia

Visa ši automatika ir efektyvumas skamba puikiai, bet kaip yra su organizacijomis, kurios vos apglėbė judrią plėtrą? „Labourey“ siūlo patarimus, kaip patekti į CI / CD:

Manau, kad geriausias būdas tai padaryti yra pradėti nuo mažo. Pasirinkite projektą. Nesakykite: „Gerai, dabar mes esame nuolatinio pristatymo parduotuvė, viskas vyksta taip“. Pradėkite nuo komandos, kuri nori, kuri galbūt yra lankstesnė už kitas komandas, galbūt naujesnius komandos narius, mažiau įsitraukusi į esamą dalykų atlikimo būdą. Pasirinkite lengvą projektą. Nebandykite to naudoti kaip pasakyti, jei tas pavyks, viskas veiks. Nebandykite žlugti; bandyti pasisekti. Pasirinkite norinčią komandą, išsirinkite lengvą projektą ir nuvykite ten. Ši komanda bus geriausias jūsų pardavimų vaikinas, nes dabar galite parodyti, kad tai veikia. Jie gali kalbėti apie tai, kaip pagerėjo jų darbas, nes, tiesą sakant, senasis būdas yra nuobodus.

Proceso dalis, pažymi Labourey, yra „ištraukti žinias, kurios tyliai slypi žmonių smegenyse, ir įdėti jas į logotipą“. Tai neįvyksta per naktį. Dažnai vystymo organizacijos pradeda iškalti KI ir laikui bėgant siekia CD.

Vystymosi organizacijoms paprastai keliami labai įvairūs, labai specifiniai reikalavimai. Taigi „CloudBees“ siūlo ir bendrą „CloudBees“ valdomą „SaaS“ versiją, kurią sudaro prenumerata, ir „privačią„ SaaS “versiją, kurią klientai gali įdiegti AWS arba„ Azure “(arba vietoje„ OpenStack “) ir pritaikyti ją pagal savo širdį.

Sunku pervertinti kūrimo proceso organizavimo, automatizavimo ir racionalizavimo svarbą. CI / CD yra svarbiausias paslaugų teikėjams, o sėkmingas „devops“ diegimas savo ruožtu turi pasekmių, kurios apima ne tik IT, bet ir patį verslą. Nuolat tobulinant programinę įrangą, nuolat tobulinami produktai ir paslaugos. Pavyzdžiui, „Tesla“ turėjo rimtą nesėkmę, kai vienas iš modelių užsidegė - ir įdiegus programinės įrangos atnaujinimą problema išspręsta per naktį.

"Įdomu, jei jūs gaunate 10 procentų daugiau efektyvumo; jei išleidžiate 100 milijonų JAV dolerių per metus IT srityje, puiku - jūs turite 10 milijonų dolerių, kuriuos galite išleisti kur nors kitur", - sako Labourey. "Tačiau tikroji nauda yra tada, kai verslas supranta, kad naudodamiesi tais įrankiais ir tokiu būdu, jie gali padidinti pardavimus 10 proc."