Èd: ki sa ki akouchman kontinyèl

Anvan nou te di sou Entegrasyon Kontinyèl (CI). Ann kontinye ak Livrezon Kontinyèl. Sa a se yon seri metòd devlopman lojisyèl. Li ede asire ke kòd ou a pare pou deplwaman.

Èd: ki sa ki akouchman kontinyèl
/Pixabay/ bluebudgie / PL

Istwa

Fraz livrezon kontinyèl la ka wè tounen nan manifès ajil depi 2001 nan kòmansman lis prensip debaz yo: "Priyorite a se rezoud pwoblèm kliyan atravè livrezon kontinyèl nan lojisyèl ajou."

An 2010, Jez Humble ak David Farley te lage yon liv pa livrezon kontinyèl. Dapre otè yo, CD konplete apwòch la Entegrasyon kontinyèl ak pèmèt ou senplifye preparasyon an nan kòd pou deplwaman.

Apre piblikasyon liv la, apwòch la te kòmanse pran popilarite ak nan jis yon koup de ane li te vin prèske inivèsèl aksepte. Dapre sondaj, ki te fèt nan mitan plis pase 600 devlopè ak administratè IT nan 2014, 97% nan administratè teknik ak 84% nan pwogramasyon yo te abitye ak Livrezon Kontinyèl.

Koulye a, apwòch sa a rete youn nan pi popilè. Dapre yon etid 2018 ki enplike kominote IT DevOps ak Jenkins Community, li itilizasyon mwatye nan plis pase mil moun ki reponn sondaj yo.

Ki jan livrezon kontinyèl travay?

Baz CD a se preparasyon pou kòd la pou deplwaman. Pou akonpli travay sa a, automatisation nan pwosesis la nan prepare lojisyèl pou lage yo itilize. Li ta dwe estanda atravè diferan anviwònman devlopman, ki pral ede byen vit jwenn pwen fèb ak optimize yo. Pou egzanp, pi vit tès yo.

Yon egzanp yon pwosesis livrezon kontinyèl sanble sa a:

Èd: ki sa ki akouchman kontinyèl

Si apwòch Entegrasyon Kontinyèl la responsab pou otomatize de premye etap yo, Lè sa a, Livrezon Kontinyèl responsab pou de pwochen yo. Estabilite pwosesis asire, pami lòt bagay, pa sistèm yo jesyon konfigirasyon. Yo kontwole chanjman nan enfrastrikti, baz done ak depandans. Deplwaman nan tèt li ka otomatize oswa fè manyèlman.

Kondisyon sa yo enpoze sou pwosesis la:

  • Disponibilite enfòmasyon sou preparasyon pou antre nan anviwònman pwodiksyon an ak preparasyon pou lage imedya (zouti CD teste kòd la epi fè li posib pou evalye efè chanjman nan liberasyon an).
  • Responsablite jeneral pou pwodwi final la. Ekip pwodwi a - manadjè, devlopè, tèsteur - panse sou rezilta a, epi pa sèlman sou zòn responsablite yo (rezilta a se yon lage k ap travay ki disponib pou itilizatè yo nan pwodwi a).

Nan CD li se anjeneral yo itilize revizyon kòd, ak pou kolekte opinyon kliyan - prensip la lansman nwa. Yon nouvo karakteristik premye lage nan yon ti segman itilizatè yo - eksperyans yo nan kominike avèk pwodwi a ede jwenn enpèfeksyon ak pinèz ki pa te remake pandan tès entèn yo.

Ki benefis la

Livrezon kontinyèl ede senplifye deplwaman kòd, sa ki gen yon enpak pozitif sou pwodiktivite epi redwi chans pou anplwaye yo boule. Finalman, sa diminye depans devlopman jeneral yo. Pa egzanp, CD te ede youn nan ekip HP yo pou redwi depans sa yo pa 40%.

Anplis de sa, dapre yon etid 2016 (paj 28 dokiman) - konpayi ki te aplike CD rezoud pwoblèm sekirite enfòmasyon 50% pi vit pase moun ki pa sèvi ak apwòch la. Nan yon sèten mezi, diferans sa a ka eksplike pa pèfòmans nan zouti automatisation pwosesis.

Yon lòt plis se akselerasyon degaje yo. Livrezon kontinyèl nan estidyo devlopman Finnish te ede ogmante vitès asanble kòd pa 25%.

Difikilte potansyèl yo

Pwoblèm nan premye ak prensipal se bezwen nan rekonstwi pwosesis abitye. Pou montre benefis ki genyen nan nouvo apwòch la, li vo chanje nan CD piti piti, kòmanse pa ak aplikasyon ki pi travay-entansif.

Dezyèm pwoblèm potansyèl la se gwo kantite branch kòd. Konsekans "branching" se konfli souvan ak plis pèt nan yon gwo kantite tan. Solisyon posib - apwòch pa gen branch.

An patikilye, nan kèk konpayi difikilte prensipal yo leve ak tès - li pran twòp tan. Rezilta tès yo souvan yo dwe analize manyèlman, men yon solisyon posib ka paralelize tès yo nan premye etap yo nan aplikasyon CD.

Ou ta dwe tou fòme anplwaye yo pou yo travay ak nouvo zouti - yon pwogram edikasyon preliminè pral ekonomize efò ak tan devlopè yo.

Èd: ki sa ki akouchman kontinyèl
/flickr/ h.ger1969 / CC BY-SA

Zouti

Men kèk zouti ouvè pou livrezon kontinyèl:

  • GoCD — sèvè pou livrezon kontinyèl nan Java ak JRuby on Rails. Pèmèt ou kontwole tout pwosesis livrezon aplikasyon an: bati-tès-lage. Zouti a distribye anba lisans Apache 2.0. Ou ka jwenn li sou sit entènèt ofisyèl la gid konfigirasyon.
  • Kapistrano — yon fondasyon pou kreye scripts ki otomatize deplwaman aplikasyon yo nan Ruby, Java oswa PHP. Capistrano se kapab egzekite kòmandman sou yon machin aleka pa konekte li atravè SSH. Travay ak lòt entegrasyon kontinyèl ak zouti livrezon, tankou sèvè Integrity CI.
  • Gradle se yon zouti milti-platfòm ki otomatize tout sik devlopman aplikasyon an. Gradle travay ak Java, Python, C/C++, Scala, elatriye Gen entegrasyon ak Eclipse, IntelliJ ak Jenkins.
  • abèy - Platfòm CD nan lang Go. Drone ka deplwaye sou lokal oswa nan nwaj la. Zouti a bati sou resipyan yo epi li itilize dosye YAML pou jere yo.
  • Spinnaker — yon platfòm pou livrezon kòd kontinyèl nan sistèm milti-nwaj. Devlope pa Netflix, enjenyè Google te jwe yon gwo wòl nan devlopman zouti a. Enstriksyon enstalasyon yo jwenn li sou sit entènèt ofisyèl la.

Kisa pou w li sou blog antrepriz nou an:

Sous: www.habr.com

Add nouvo kòmantè