Anar al contingut

Entrega contínua

De L'Enciclopèdia, la wikipedia en valencià

Entrega contínua (continuous delivery en anglés o CD) és un enfocament de l'ingenieria del software en que els equips de desenroll produïxen software en cicles curts, assegurant que el software pot ser lliberat de forma confiable en qualsevol moment.[1] Apunta a la construcció, prova, i lliberació del software de forma més ràpida i més freqüent. Este enfocament ajuda en la reducció del cost, temps, i risc de la lliberació de versions per mig de la lliberació de versions més incrementals a aplicacions en producció. Un procés directe i repetible de lliberació és important per a una entrega contínua.

En ocasions es relaciona en Desplegament continu, en la diferència que en l'entrega contínua, el producte final no té per qué sempre ser desplegat en un entorn real.

Principis

L'entrega contínua consistix en tractar el fluix de desplegament com un sistema a prova d'errors: hi ha un conjunt de validació que cada peça de software deu passar en el seu camí cap a la lliberació. El còdic és compilado, si és necessari, i empaquetat per un servidor de compilació cada volta que es realisa un canvi en un repositori de control de versions, i despuix és provat per una série de tècniques diferents (possiblement incloent proves manuals) ans que puga ser marcat com liberable.

Els desenrolladors acostumats a un cicle de temps llarc poden tindre que canviar la seua mentalitat quan treballen en un entorn de CD. És important entendre que qualsevol canvi de còdic pot ser lliberat als clients en qualsevol moment. Patrons com els "feature toggles" o canvi dinàmic de l'aplicació via configuració, poden ser molt útils per a confirmar el còdic abans d'hora que encara no està llest per a ser utilisat pels usuaris finals.

Atres tècniques útils per al desenroll de còdic de forma aïllada, com la ramificació de còdic, no són obsoletes en un món de CD, pero deuen ser adaptades per a ajustar-se als principis de CD.

L'entrega contínua s'habilita a través del fluix de desplegament. El propòsit del fluix de desplegament té tres components: visibilitat, retroalimentación i desplegament continu.

  • Visibilitat: Tots els aspectes del sistema d'entrega, incloent la construcció, el desplegament, les proves i la lliberació són visibles per a tots els membres de l'equip per a promoure la colaboració.
  • Feedback: Els membres de l'equip s'enteren dels problemes lo abans possible quan es produïxen per a poder solucionar-los lo abans possible.
  • Desplegament continu: Per mig d'un procés totalment automatizado, es pot desplegar i lliberar qualsevol versió del software en qualsevol entorn.

Etapes

Normalment està composta de 3 etapes:

  • Automatisació de la compilació i integració contínua
  • Automatisació de proves
  • Automatisació d'implementació

Automatisació de la compilació i integració contínua:

Esta etapa consta de la creació d'archius binarios a partir del còdic font. A mida que els desenrolladors implementen noves funcions, estes són integrades al còdic central, compilades, i provades.

Automatisació de proves:

En esta etapa es prova rigorosament la nova versió d'aplicació, per a assegurar que complix en tots els requeriments de calitat del sistema.

Automatisació d'implementació:

En acabant de que les etapes anteriors siguen verificades, es pot implementar la nova versió en l'ambient de producció. Esta implementació es realisa de forma automàtica, deixant disponibles les noves funcionalitats a l'usuari, en solament uns minuts.

Relació en DevOps

L'entrega contínua i DevOps són similars en els seus significats i a sovint es confonen, pero són dos conceptes diferents.[2] DevOps té un alcanç més ampli, i se centra en el canvi cultural, específicament en la colaboració dels diversos equips involucrats en l'entrega de software (desenrolladors, operacions, control de calitat, gestió, etc.), aixina com en l'automatisació dels processos en l'entrega de software.

L'entrega contínua, per la seua banda, és un enfocament per a automatisar l'entrega del software, i se centra en reunir els diferents processos i eixecutar-los en major rapidea i freqüència.[3] Aixina, DevOps pot ser un producte de l'entrega contínua, i esta fluïx directament cap a DevOps.

Vore també

Referències

  1. ↑ (2015).«Continuous Delivery: Huge Benefits, but Challenges Too».IEEE Software.32(2)
    50-54.doi:10.1109/MS.2015.27.
  2. ↑ Jeffrey Hammond. «The Relationship between DevOps and Continuous Delivery».
  3. ↑ Swartout, Paul (2012). Continuous Delivery and DevOps: A Quickstart guide, Packt Publishing. ISBN 978-1849693684.