Hjálp: hvað er stöðug afhending

Fyrr við sagði um stöðuga samþættingu (CI). Höldum áfram með stöðuga afhendingu. Þetta er sett af hugbúnaðarþróunaraðferðum. Það hjálpar til við að tryggja að kóðinn þinn sé tilbúinn til dreifingar.

Hjálp: hvað er stöðug afhending
/Pixabay/ blágrýti / PL

Story

Setningin samfelld afhending mátti sjá aftur inn lipur stefnuskrá frá 2001 í upphafi lista yfir grundvallarreglur: "Forgangsverkefni er að leysa vandamál viðskiptavina með stöðugri afhendingu uppfærðs hugbúnaðar."

Árið 2010 gáfu Jez Humble og David Farley út bók með stöðugri afhendingu. Að sögn höfunda er CD viðbót við nálgunina Stöðug samþætting og gerir þér kleift að einfalda undirbúning kóða fyrir uppsetningu.

Eftir útgáfu bókarinnar fór nálgunin að ná vinsældum og á örfáum árum varð hún nánast almennt viðurkennd. Samkvæmt könnun, sem gerð var meðal meira en 600 þróunaraðila og upplýsingatæknistjóra árið 2014, 97% tæknistjóra og 84% forritara þekktu Continuous Delivery.

Nú er þessi aðferð enn ein sú vinsælasta. Samkvæmt 2018 rannsókn sem tók þátt í upplýsingatæknisamfélaginu DevOps og Jenkins Community, það notar helmingur af rúmlega þúsund svarendum sem könnunin var.

Hvernig virkar stöðug afhending?

Grundvöllur geisladiska er reiðubúinn kóðann til dreifingar. Til að ná þessu verkefni er sjálfvirkni í því ferli að undirbúa hugbúnað fyrir útgáfu notað. Það ætti að vera staðlað í mismunandi þróunarumhverfi, sem mun hjálpa til við að finna fljótt veika punkta og fínstilla þá. Til dæmis, flýta fyrir prófunum.

Dæmi um stöðuga afhendingu ferli lítur svona út:

Hjálp: hvað er stöðug afhending

Ef Stöðug samþætting er ábyrg fyrir sjálfvirkni fyrstu tveimur stigunum, þá er Stöðug afhending ábyrg fyrir næstu tveimur. Stöðugleiki ferla er meðal annars tryggður með kerfum stillingarstjórnun. Þeir fylgjast með breytingum á innviðum, gagnagrunnum og ósjálfstæði. Dreifingin sjálf er hægt að gera sjálfvirk eða gera handvirkt.

Eftirfarandi kröfur eru settar á ferlið:

  • Aðgengi að upplýsingum um tilbúinn til að fara inn í framleiðsluumhverfið og tilbúinn til tafarlausrar útgáfu (geisladiskaverkfæri prófa kóðann og gera það mögulegt að meta áhrif breytinga á útgáfunni).
  • Heildarábyrgð á endanlegri vöru. Vöruhópurinn - stjórnendur, þróunaraðilar, prófunaraðilar - hugsa um niðurstöðuna, en ekki bara um ábyrgðarsvið þeirra (niðurstaðan er vinnandi útgáfa sem er aðgengileg notendum vörunnar).

Í geisladiskum er það venjulega notað endurskoðun kóða, og til að safna skoðunum viðskiptavina - meginreglan myrkur sjósetja. Nýr eiginleiki er fyrst gefinn út fyrir lítinn hluta notenda - reynsla þeirra af samskiptum við vöruna hjálpar til við að finna galla og villur sem ekki var tekið eftir við innri prófun.

Hver er ávinningurinn

Stöðug afhending hjálpar til við að einfalda uppsetningu kóða, sem hefur jákvæð áhrif á framleiðni og dregur úr líkum á kulnun starfsmanna. Að lokum dregur þetta úr heildarþróunarkostnaði. Til dæmis hjálpaði CD einu af HP teymunum draga slíkur kostnaður um 40%.

Að auki, samkvæmt rannsókn 2016 (bls. 28 skjalið) - fyrirtæki sem hafa innleitt CD leysa upplýsingaöryggisvandamál 50% hraðar en þau sem ekki nota aðferðina. Að einhverju leyti má útskýra þennan mun með frammistöðu sjálfvirkni verkfæra.

Annar plús er hröðun útgáfunnar. Stöðug afhending hjá finnskri þróunarstofu hjálpaði auka samsetningarhraða kóða um 25%.

Hugsanlegir erfiðleikar

Fyrsta og helsta vandamálið er þörfin á að endurreisa kunnugleg ferli. Til að sýna ávinninginn af nýju nálguninni er þess virði að skipta yfir í geisladiska smám saman og byrja ekki með vinnufreka forritunum.

Annað hugsanlegt vandamál er mikill fjöldi kóðaútibúa. Afleiðingin af „útibúum“ eru tíð átök og frekara tap á miklum tíma. Möguleg lausn - nálgun engin útibú.

Einkum í sumum fyrirtækjum koma upp helstu erfiðleikar við prófun - það tekur of mikinn tíma. Oft þarf að greina prófunarniðurstöður handvirkt, en möguleg lausn gæti verið að samhliða prófunum á fyrstu stigum innleiðingar geisladiska.

Þú ættir líka að þjálfa starfsmenn í að vinna með ný verkfæri - bráðabirgðafræðsluáætlun mun spara þróunaraðilum fyrirhöfn og tíma.

Hjálp: hvað er stöðug afhending
/Flickr/ h.ger1969 / CC BY-SA

Verkfæri

Hér eru nokkur opin verkfæri fyrir stöðuga afhendingu:

  • GoCD - miðlara fyrir stöðuga afhendingu í Java og JRuby on Rails. Gerir þér kleift að stjórna öllu umsóknarferlinu: smíða—próf—útgáfa. Tólinu er dreift undir Apache 2.0 leyfinu. Þú getur fundið það á opinberu vefsíðunni uppsetningarleiðbeiningar.
  • Capistrano — ramma til að búa til forskriftir sem gera sjálfvirkan dreifingu forrita í Ruby, Java eða PHP. Capistrano er fær um að framkvæma skipanir á ytri vél með því að tengjast henni í gegnum SSH. Vinnur með öðrum samfelldum samþættingar- og afhendingarverkfærum, svo sem Integrity CI þjóninum.
  • stigi er fjölvettvangsverkfæri sem gerir alla þróunarferil forritsins sjálfvirkan. Gradle vinnur með Java, Python, C/C++, Scala o.fl. Það er samþætting við Eclipse, IntelliJ og Jenkins.
  • Drone - CD pallur á Go tungumáli. Hægt er að dreifa dróna á staðnum eða í skýinu. Tólið er byggt ofan á gámum og notar YAML skrár til að stjórna þeim.
  • Spinnaker — vettvangur fyrir stöðuga kóðaafhendingu í fjölskýjakerfum. Verkfræðingar Google, sem voru þróaðir af Netflix, léku stórt hlutverk í þróun tólsins. Uppsetningarleiðbeiningar finna það á opinberu vefsíðunni.

Hvað á að lesa á fyrirtækjablogginu okkar:

Heimild: www.habr.com

Bæta við athugasemd