1. Overview
In this article, there is a practical example, both server side, and client side, of the use of Spring WebFlux, a module included by Spring 5 that provides support for reactive programming, being fully asynchronous and non-blocking.
In this article, there is a practical example, both server side, and client side, of the use of Spring WebFlux, a module included by Spring 5 that provides support for reactive programming, being fully asynchronous and non-blocking.
Como descrito por Humble e Farley (2014), quando uma versão está disponível neste estágio, temos as seguintes informações sobre ela:
Para Humble e Farley (2014) o objetivo do estágio de testes de aceitação é garantir que o sistema entrega o valor esperado ao cliente e atende aos critérios de aceitação. Caso haja falha nesse estágio, o pipeline deve ser interrompido e a equipe deve agir imediatamente.
Após a explicação resumida do processo de um pipeline de implantação, agora faz-se necessário aprofundar em cada estágio explicando qual ferramenta open source melhor se adequa para sua implementação, seguindo as práticas recomendadas.
Como base para o pipeline é importante destacar duas ferramentas que serão fundamentais em diversos estágios. São elas o sistema de controle de versão e o servidor de integração contínua (IC).
O padrão mais importante da entrega contínua é o chamado pipeline de implantação que segundo Humble e Farley (2014) é “uma manifestação automatizada do processo de levar o software do controle de versão até os usuários”. Ele tem como base o processo de integração contínua, “e é essencialmente o princípio de integração contínua levado à sua conclusão lógica” (HUMBLE; FARLEY, 2014).
Para total compreensão do processo de entrega contínua, é necessário descrever os seguintes pré-requisitos: gerência de configuração, integração contínua e testes de software.
Atualmente um dos grandes problemas enfrentados por profissionais que atuam com desenvolvimento de software é entregar ao cliente o quanto antes o sistema desenvolvido ou alterações e correções necessárias após estar em produção. Neste contexto, foi criado o conceito de entrega contínua que segundo Fowler (2013), é uma disciplina de desenvolvimento de software na qual se constrói o software de maneira que ele possa ser liberado para produção a qualquer momento.