Aiutu: ciò chì hè Cuntinuu Delivery

Prima noi hà dettu nantu à l'Integrazione Continua (CI). Cuntinuemu cù a Consegna Continua. Questu hè un inseme di metudi di sviluppu di software. Aiuta à assicurà chì u vostru codice hè prontu per a implementazione.

Aiutu: ciò chì hè Cuntinuu Delivery
/Pixabay/ bluebudgie / PL

История

A frasa di spedizione cuntinuu puderia esse vistu torna in manifestu agile da u 2001 à l'iniziu di a lista di i principii basi: "A priorità hè di risolve i prublemi di i clienti per mezu di a spedizione cuntinuu di software up-to-date".

In u 2010, Jez Humble è David Farley anu liberatu libru da Cunsigliu Cuntinuu. Sicondu l'autori, u CD cumplementa l'approcciu Integrazione cuntinua è vi permette di simplificà a preparazione di codice per a implementazione.

Dopu à a publicazione di u libru, l'approcciu accuminciau a pupularità è in un paru d'anni hè diventatu quasi universale. Secondu sondaghju, realizatu trà più di 600 sviluppatori è amministratori di l'IT in 2014, 97% di i gestori tecnichi è 84% di i programatori eranu familiarizati cù a Consegna Continua.

Avà stu approcciu ferma unu di i più populari. Sicondu un studiu 2018 chì implica a cumunità IT DevOps è Jenkins Community, hè usi a mità di i più di mille rispondenti intervistati.

Cumu funziona a Consegna Continua?

A basa di CD hè a preparazione di u codice per a implementazione. Per fà questu compitu, l'automatizazione di u prucessu di preparazione di u software per a liberazione hè aduprata. Duverebbe esse standard in diversi ambienti di sviluppu, chì aiuterà à truvà rapidamente i punti debuli è ottimisimu. Per esempiu, accelerà a prova.

Un esempiu di un prucessu di Consegna Cuntinuu hè cusì:

Aiutu: ciò chì hè Cuntinuu Delivery

Se l'approcciu di l'Integrazione Continua hè rispunsevule per l'automatizazione di e prime duie tappe, a Consegna Continua hè rispunsevule per e duie prossime. A stabilità di u prucessu hè assicurata, frà altri cose, da i sistemi gestione di cunfigurazione. Monitoranu i cambiamenti in l'infrastruttura, basa di dati è dipendenze. A implementazione stessa pò esse automatizata o fatta manualmente.

I seguenti requisiti sò imposti à u prucessu:

  • Disponibilità di l'infurmazioni nantu à a prontezza per entra in l'ambiente di produzzione è a prontezza per a liberazione immediata (l'arnesi CD testanu u codice è facenu pussibule valutà l'effettu di i cambiamenti in a liberazione).
  • Rispunsabilità generale per u pruduttu finali. A squadra di u produttu - gestori, sviluppatori, testatori - pensate à u risultatu, è micca solu à a so zona di rispunsabilità (u risultatu hè una versione di travagliu chì hè dispunibule per l'utilizatori di u pruduttu).

In i CD hè generalmente utilizatu rivista di codice, è per cullà l'opinioni di i clienti - u principiu lanciamentu scuru. Una nova funzione hè prima liberata à un picculu segmentu di l'utilizatori - a so sperienza di interagisce cù u pruduttu aiuta à truvà difetti è bug chì ùn sò micca stati nutati durante a prova interna.

Chì ghjè u benefiziu

A Consegna Continua aiuta à simplificà l'implementazione di codice, chì hà un impattu pusitivu nantu à a produtividade è riduce a probabilità di burnout di l'impiegati. In ultimamente, questu reduce i costi di sviluppu generale. Per esempiu, CD hà aiutatu unu di i squadre HP di riduce tali costi da 40%.

Inoltre, secondu un studiu 2016 (pagina 28 documentu) - cumpagnie chì anu implementatu CD risolve i prublemi di sicurezza di l'infurmazioni 50% più veloce di quelli chì ùn utilizanu micca l'approcciu. In una certa misura, sta differenza pò esse spiegata da u funziunamentu di l'automatizazione di u prucessu.

Un altru plus hè l'accelerazione di e versioni. Consegna cuntinuu in u studiu di sviluppu finlandese aiutatu aumentà a velocità di assemblea di codice da 25%.

Difficultà potenziale

U primu è u prublema principali hè a necessità di ricustruisce i prucessi familiari. Per dimustrà i benefizii di u novu approcciu, vale a pena passà à u CD gradualmente, principiendu micca cù l'applicazioni più intensivi di travagliu.

U sicondu prublema potenziale hè u gran numaru di rami di codice. A cunsiquenza di "branching" hè cunflitti frequenti è più perdita di una grande quantità di tempu. Possibile suluzione - avvicinamentu senza rami.

In particulare, in certi cumpagnie, i prublemi principali si sviluppanu cù a prova - ci vole troppu tempu. I risultati di e teste sò spessu analizati manualmente, ma una suluzione pussibule pò esse parallelisà e teste in i primi stadi di implementazione di CD.

Duvete ancu furmà l'impiegati à travaglià cù novi arnesi - un prugramma educativu preliminariu risparmià u sforzu è u tempu di i sviluppatori.

Aiutu: ciò chì hè Cuntinuu Delivery
/flickr/ h.ger1969 / CC BY-SA

Ferramenti

Eccu alcuni strumenti aperti per a Consegna Continua:

  • GoCD - servitore per a spedizione continua in Java è JRuby on Rails. Permette di cuntrullà tuttu u prucessu di consegna di l'applicazioni: custruisce-test-liberazione. U strumentu hè distribuitu sottu a licenza Apache 2.0. Pudete truvà lu in u situ ufficiali guida di stallazione.
  • Capistrano - un framework per creà scripts chì automatizanu a implementazione di applicazioni in Ruby, Java o PHP. Capistrano hè capaci di eseguisce cumandamenti nantu à una macchina remota cunnessendu à questu via SSH. Funziona cù altre integrazione cuntinua è strumenti di consegna, cum'è u servitore Integrity CI.
  • gradle hè un strumentu multi-piattaforma chì automatizza tuttu u ciculu di sviluppu di l'applicazioni. Gradle travaglia cù Java, Python, C/C++, Scala, etc. Ci hè integrazione cù Eclipse, IntelliJ è Jenkins.
  • Drone - Piattaforma CD in lingua Go. U drone pò esse implementatu in situ o in u nuvulu. L'uttellu hè custruitu nantu à i cuntenituri è usa i schedari YAML per gestisce.
  • spinnaker - una piattaforma per a spedizione di codice cuntinuu in sistemi multi-nuvola. Sviluppatu da Netflix, l'ingegneri di Google anu ghjucatu un rolu maiò in u sviluppu di l'uttellu. Istruzzioni di stallazione truvà lu nant'à u situ ufficiali.

Cosa leghje nantu à u nostru blog corporativu:

Source: www.habr.com

Add a comment