Ajutor: ce este livrarea continuă

Anterior, noi a spus despre Integrarea Continuă (CI). Să continuăm cu livrarea continuă. Acesta este un set de metode de dezvoltare software. Vă ajută să vă asigurați că codul dvs. este pregătit pentru implementare.

Ajutor: ce este livrarea continuă
/Pixabay/ bluebudgie / PL

Poveste

Expresia livrare continuă a putut fi văzută înapoi în manifest agil din 2001 la începutul listei de principii de bază: „Prioritatea este rezolvarea problemelor clienților prin livrarea continuă a software-ului la zi.”

În 2010, Jez Humble și David Farley au lansat o carte prin livrare continuă. Potrivit autorilor, CD-ul completează abordarea Integrare continuă și vă permite să simplificați pregătirea codului pentru implementare.

După publicarea cărții, abordarea a început să câștige popularitate și în doar câțiva ani a devenit aproape universal acceptată. Conform studiu, realizat în rândul a peste 600 de dezvoltatori și manageri IT în 2014, 97% dintre managerii tehnici și 84% dintre programatori erau familiarizați cu Livrarea continuă.

Acum această abordare rămâne una dintre cele mai populare. Potrivit unui studiu din 2018 care a implicat comunitatea IT DevOps și Comunitatea Jenkins, acesta utilizări jumătate din cei peste o mie de respondenţi chestionaţi.

Cum funcționează Livrarea continuă?

Baza CD-ului este pregătirea codului pentru implementare. Pentru a îndeplini această sarcină, se utilizează automatizarea procesului de pregătire a software-ului pentru lansare. Ar trebui să fie standard în diferite medii de dezvoltare, ceea ce va ajuta la găsirea rapidă a punctelor slabe și la optimizarea acestora. De exemplu, accelerați testarea.

Un exemplu de proces de livrare continuă arată astfel:

Ajutor: ce este livrarea continuă

Dacă abordarea de integrare continuă este responsabilă pentru automatizarea primelor două etape, atunci livrarea continuă este responsabilă pentru următoarele două. Stabilitatea procesului este asigurată, printre altele, de sisteme managementul configurației. Ei monitorizează schimbările în infrastructură, baze de date și dependențe. Implementarea în sine poate fi automatizată sau realizată manual.

Următoarele cerințe sunt impuse procesului:

  • Disponibilitatea informațiilor despre disponibilitatea pentru a intra în mediul de producție și disponibilitatea pentru lansare imediată (instrumentele CD testează codul și fac posibilă evaluarea efectului modificărilor în versiune).
  • Responsabilitatea generală pentru produsul final. Echipa de produs - manageri, dezvoltatori, testeri - se gândește la rezultat și nu doar la domeniul lor de responsabilitate (rezultatul este o versiune funcțională care este disponibilă pentru utilizatorii produsului).

În CD-uri este de obicei folosit revizuire a Codului, iar pentru colectarea opiniilor clienților - principiul lansare întunecată. O nouă caracteristică este lansată mai întâi pentru un segment mic de utilizatori - experiența lor de a interacționa cu produsul ajută la găsirea deficiențelor și erorilor care nu au fost observate în timpul testării interne.

Care este beneficiul

Livrarea continuă ajută la simplificarea implementării codului, ceea ce are un impact pozitiv asupra productivității și reduce probabilitatea de epuizare a angajaților. În cele din urmă, acest lucru reduce costurile totale de dezvoltare. De exemplu, CD a ajutat una dintre echipele HP reduce astfel de costuri cu 40%.

În plus, conform unui studiu din 2016 (pagina 28 document) - companiile care au implementat CD rezolvă problemele de securitate a informațiilor cu 50% mai rapid decât cele care nu folosesc abordarea. Într-o oarecare măsură, această diferență poate fi explicată prin performanța instrumentelor de automatizare a proceselor.

Un alt plus este accelerarea lansărilor. Livrare continuă la studioul de dezvoltare finlandez ajutat crește viteza de asamblare a codului cu 25%.

Dificultăți potențiale

Prima și principala problemă este necesitatea de a reconstrui procesele familiare. Pentru a arăta beneficiile noii abordări, merită să treceți la CD treptat, începând nu cu aplicațiile care necesită cea mai mare forță de muncă.

A doua problemă potențială este numărul mare de ramuri de cod. Consecința „ramificării” este conflictele frecvente și pierderea ulterioară a unei perioade mari de timp. Soluție posibilă - abordare fără ramuri.

În special, în unele companii, principalele dificultăți apar cu testarea - durează prea mult timp. Rezultatele testelor trebuie adesea analizate manual, dar o posibilă soluție poate fi paralelizarea testelor în etapele incipiente ale implementării CD-ului.

De asemenea, ar trebui să instruiți angajații să lucreze cu instrumente noi - un program educațional preliminar va economisi efort și timp dezvoltatorilor.

Ajutor: ce este livrarea continuă
/Flickr/ h.ger1969 / CC BY-SA

Instrumente

Iată câteva instrumente deschise pentru livrare continuă:

  • GoCD — server pentru livrare continuă în Java și JRuby on Rails. Vă permite să controlați întregul proces de livrare a aplicației: build-test-release. Instrumentul este distribuit sub licența Apache 2.0. Îl puteți găsi pe site-ul oficial ghid de configurare.
  • Capistrano — un cadru pentru crearea de scripturi care automatizează implementarea aplicațiilor în Ruby, Java sau PHP. Capistrano este capabil să execute comenzi pe o mașină de la distanță conectându-se la aceasta prin SSH. Funcționează cu alte instrumente de integrare și livrare continuă, cum ar fi serverul Integrity CI.
  • gradle este un instrument multi-platformă care automatizează întregul ciclu de dezvoltare a aplicațiilor. Gradle funcționează cu Java, Python, C/C++, Scala, etc. Există integrare cu Eclipse, IntelliJ și Jenkins.
  • Trântor - Platformă CD în limba Go. Drona poate fi implementată on-premise sau în cloud. Instrumentul este construit pe deasupra containerelor și utilizează fișiere YAML pentru a le gestiona.
  • Spinnaker — o platformă pentru livrarea continuă a codului în sisteme multi-cloud. Dezvoltat de Netflix, inginerii Google au jucat un rol important în dezvoltarea instrumentului. Instructiuni de instalare găsiți-l pe site-ul oficial.

Ce să citiți pe blogul nostru corporativ:

Sursa: www.habr.com

Adauga un comentariu