O que é entrega contínua (CD)?

Copiar URL

Entrega contínua é uma prática de desenvolvimento de software que utiliza a automação para acelerar o lançamento de novo código.

Ela estabelece um processo pelo qual as alterações feitas por um desenvolvedor em uma aplicação possam ser enviadas para um repositório de código ou um registro de aplicações em container por meio da automação.

Obtenha a checklist de automação empresarial para DevOps

A entrega contínua é parte da CI/CD, um método de entrega de software usado com frequência ao automatizar algumas das fases de desenvolvimento de aplicações. 

"CI" refere-se à integração contínua. Com a integração contínua, novas alterações no código de uma aplicação são criadas, testadas e mescladas em um repositório compartilhado. É a solução ideal para evitar conflitos entre ramificações quando muitas aplicações são desenvolvidas ao mesmo tempo.

“CD” pode se referir à implantação contínua ou à entrega contínua, que descrevem formas de automatizar as fases posteriores do pipeline.

CI/CD FLow

Recursos da Red Hat

Embora sejam conceitos estreitamente relacionados, entrega e implantação contínuas são, muitas vezes, utilizados separadamente para especificar o grau de automação.

A entrega contínua geralmente significa que as alterações feitas por uma equipe de desenvolvimento em uma aplicação são automaticamente testadas e carregadas em um repositório (como o GitHub ou um registro de aplicações em container), onde podem ser implantadas em um ambiente de produção em tempo real pela equipe de operações. Isso resolve o problema de baixa visibilidade e comunicação entre as equipes de negócios e desenvolvimento. Para isso, a finalidade da entrega contínua é garantir o mínimo de esforço na implantação de novos códigos.

A implantação contínua, por outro lado, abrange algumas etapas adicionais do procedimento de lançamento do novo software. Normalmente inclui o processo de liberação automática das alterações de um desenvolvedor do repositório para a produção, onde poderão ser utilizadas pelos clientes. Isso evita a sobrecarga das equipes de operações por conta dos processos manuais que atrasam a entrega de aplicações. Nesse conceito, são aproveitados os benefícios da entrega contínua ao automatizar a próxima etapa no pipeline.

Open Technology Sessions

Conheça a série de webinars da Red Hat em português feita para você descobrir como inovar. Aprenda sobre Automação, Infraestrutura, Plataforma de Aplicações, Cloud Services, Inteligência Artificial e muito mais!

 

Um pipeline de CI/CD consiste em uma série de etapas a serem realizadas para a disponibilização de uma nova versão de software. Assim que você implantar o CI/CD, terá estabelecido um pipeline correspondente.

O pipeline de CI/CD inclui monitoramento e automação para melhorar o fluxo de trabalho de desenvolvimento de aplicações, principalmente nos estágios de integração e teste, mas também na entrega e na implantação. 

É possível executar manualmente cada etapa do pipeline de CI/CD, mas o real valor dele está na automação do ciclo de vida da aplicação.

Leia mais sobre pipelines de CI/CD

DevOps, um conceito que combina as práticas de "desenvolvimento" e "operações", é uma abordagem de cultura, automação e design de plataforma que tem como objetivo agregar mais valor aos negócios e aumentar a capacidade de resposta às mudanças por meio de entregas de serviços rápidas e de alta qualidade.

A entrega contínua é uma prática específica de desenvolvimento de software que é frequentemente aplicada no DevOps. A abordagem DevOps normalmente envolve a criação de um pipeline de entrega contínua.

A metodologia DevOps descreve abordagens que ajudam a acelerar os processos necessários para levar uma ideia do desenvolvimento à implantação em um ambiente de produção no qual ela seja capaz de gerar valor para o usuário. Essas ideias podem ser um novo recurso de software, uma solicitação de aprimoramento ou uma correção de bug, entre outros. 

Com o DevOps, os desenvolvedores, que normalmente criam códigos em um ambiente de desenvolvimento padrão, trabalham em estreita colaboração com as equipes de operações e testes de TI para acelerar a compilação de programas de software, as alocações de código, os testes de unidade e os lançamentos, sem sacrificar a confiabilidade.

Um resultado importante da implantação do DevOps é um pipeline CI/CD gerenciado por equipes de desenvolvimento e operações que trabalham em conjunto utilizando uma metodologia ágil

Leia mais sobre DevOps

O CI/CD depende da automação para acelerar os processos de desenvolvimento, implementação e testes. A automação ajuda a manter a qualidade e reduz os erros humanos. Ela também aprimora a segurança como parte de uma estratégia DevSecOps .

Algumas ferramentas tratam especificamente da integração (CI), algumas gerenciam o desenvolvimento e a implantação (CD) e outras são especializadas em testes contínuos ou funções relacionadas.

Uma das ferramentas open source mais conhecidas para CI/CD é o servidor de automação Jenkins. O Jenkins foi criado para lidar com todos os processos, desde um simples servidor CI até um hub de CD completo.

Outro projeto open source normalmente utilizado é o Tekton, parte da Continuous Delivery Foundation. O Tekton permite descrever pipelines de entrega de forma declarativa usando conceitos Kubernetes e permite executá-los sob demanda em containers.

Ele é a base para o OpenShift Pipelines, uma solução CI/CD para o Red Hat® OpenShift®.

Saiba mais sobre o OpenShift Pipelines

Hub

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Teste as soluções da Red Hat

Você sabia que a Red Hat oferece versões de teste gratuitas de suas soluções? Aproveite e obtenha experiência prática, prepare-se para uma certificação da Red Hat ou avalie na prática se a solução é adequada para ao caso de uso.

Leia mais

What is multi-cloud GitOps?

O GitOps é um conjunto de princípios que orienta seu fluxo de trabalho e possibilita a implantação contínua (CD) de aplicações nativas em nuvem. Ele ajuda você a gerenciar a configuração do cluster e as implantações de aplicações, levando a automação a um processo que antes era manual.

O que é o fluxo de trabalho do GitOps?

O GitOps é uma abordagem moderna de desenvolvimento e implantação de software onde toda a infraestrutura e o ciclo de vida da aplicação são gerenciados por repositórios git como single source of truth.

O que é engenharia de plataforma?

A engenharia de plataforma é uma disciplina dentro do desenvolvimento de software que se concentra em otimizar a produtividade, a duração de ciclo de aplicação e o time to market.

DevOps: leitura recomendada