O que é um pipeline de CI/CD?

Copiar URL

Um pipeline de integração e implantação contínuas (CI/CD) consiste em uma série de etapas definidas que desenvolvedores precisam seguir para disponibilizar uma nova versão de um software. Os pipelines de CI/CD são voltados para a melhoria da entrega de softwares em todo o ciclo de vida do desenvolvimento por meio da automação.

As equipes podem desenvolver códigos de melhor qualidade com mais rapidez e segurança usando a automação de CI/CD nas etapas de desenvolvimento, teste, produção e monitoramento no ciclo de vida de desenvolvimento do software. A automação de testes também possibilita a identificação precoce de dependências e outros problemas no ciclo de vida de desenvolvimento do software, economizando tempo no futuro. É possível executar manualmente cada etapa do pipeline de CI/CD, mas o real valor dele está na automação.

Pipelines de CI/CD oferecem vantagens às empresas de software que usam máquinas virtuais e aplicações nativas em nuvem baseadas em container. Com uma integração mais rápida de atualizações e alterações no código, as equipes respondem com mais frequência e eficácia aos feedbacks de usuários e às mudanças nos negócios, gerando resultados positivos para os usuários finais. 

Pipelines de CI/CD, que otimizam e aceleram o desenvolvimento de softwares, são um reflexo da metodologia DevOps, um conjunto de ideias e práticas que incentiva a colaboração entre as equipes de desenvolvimento e de operações de TI.

O CI do CI/CD se refere à integração contínua, que inclui criação, teste e consolidação de códigos. Já o CD significa entrega contínua, que envolve o release automático do software para um repositório. CD também pode significar implantação contínua, que acrescenta a etapa de implantação automática do software na produção.

Um pipeline orienta o processo de desenvolvimento de software por um caminho de criação, testes e implantação do código. Com a automação dos processos que compõem a CI/CD, as equipes de desenvolvimento e operações conseguem minimizar erros e manter a consistência até o release. Pipelines podem incluir ferramentas de compilação de código, testes de unidade, análise de código, segurança e criação de binários. Para ambientes de containers, os pipelines ainda podem conter ferramentas para empacotamento do código em uma imagem de container a ser implantada em uma nuvem híbrida.

Os conceitos de CI/CD e DevOps têm como foco a automação dos processos de integração de código. Isso significa agilizar o percurso de uma ideia (como uma nova funcionalidade, solicitação de melhoria ou correção de um bug) do desenvolvimento para a implantação no ambiente de produção, onde gerará valor para os usuários. Os desenvolvedores, que normalmente criam códigos em um ambiente de desenvolvimento padrão, trabalham em estreita colaboração com a equipe de operações de TI para acelerar a compilação de programas de software, a realização de testes e o release de soluções, sem perder confiabilidade.

Recursos da Red Hat

Tekton é um framework baseado em Knative para criar rapidamente pipelines de CI/CD nativos em nuvem. Por ser um framework nativo em Kubernetes, ele facilita a implantação em múltiplos provedores de nuvem ou ambientes híbridos.

O Tekton viabiliza a reutilização de componentes em vários pipelines, por meio das definições de recursos personalizados (CRDs) do Kubernetes O Tekton usa control plane do Kubernetes para executar as tarefas do pipeline. Além disso, ele adota as especificações padrão do setor, funcionando bem com ferramentas de CI/CD como Knative e OpenShift.

Usando o projeto Tekton, é possível criar pipelines de entrega no estilo do Kubernetes com controle de todo o ciclo de vida dos microsserviços, sem a necessidade de ter uma equipe que centralize as tarefas de manutenção e gerenciamento da configuração, de plug-ins e do servidor de integração contínua.

Blog: Tekton ou Jenkins: qual é a melhor opção de pipeline de CI/CD?

Sem uma segurança adequada, um processo rápido de desenvolvimento e implantação pode deixar uma empresa exposta a riscos. Os mais comuns incluem a exposição de dados confidenciais a fontes externas, a incorporação de códigos inseguros ou componentes de terceiros e o acesso não autorizado a repositórios de código-fonte ou ferramentas de criação.

A automação de verificações e testes em um pipeline de CI/CD podem proteger o código e prevenir vulnerabilidades na entrega do software. Incorporar a segurança ao pipeline de dados ajuda a proteger os códigos contra ataques, evitar vazamentos de dados, ficar em conformidade com as políticas e assegurar a qualidade. Identificar e mitigar vulnerabilidades ao longo do ciclo de desenvolvimento assegura a realização de testes minuciosos nos códigos alterados e a aderência a padrões de segurança antes da implantação na produção.

Leia mais sobre segurança da TI

O Red Hat® OpenShift® Pipelines é uma solução nativa do Kubernetes criada com base no Tekton e oferece integração estreita com as ferramentas de desenvolvimento do OpenShift e da Red Hat. Administradores e desenvolvedores podem criar blueprints do pipeline para as aplicações com base nos requisitos específicos da empresa e de segurança.

O OpenShift Pipelines é projetado para executar cada etapa do pipeline no próprio container, permitindo que cada uma delas seja escalada de forma independente para atender às demandas do pipeline.

Ele está disponível com uma subscrição do OpenShift e tem integração nativa com o console dele, permitindo que os desenvolvedores configurem e executem pipelines diretamente com suas aplicações.

Funcionalidades do Red Hat OpenShift Pipelines

Pipelines nativos do Kubernetes
Use definições de recursos personalizados (CRD) Tekton padrão para definir pipelines executados como containers e escalados sob demanda.

Execução serverless
Tenha comando total dos pipelines de entrega, plugins e controle de acesso, sem qualquer servidor central de CI/CD para gerenciar.

Experiência de CI/CD integrada
Tenha uma experiência de usuário simplificada com o Red Hat OpenShift que conta com a perspectiva de desenvolvedor do console (incluindo a interface visual do Pipeline Builder), interfaces de linha de comando e ambientes de desenvolvimento integrados.
 

Explore a documentação do Red Hat OpenShift Pipelines

Nossos especialistas podem ajudar sua empresa a desenvolver as práticas, ferramentas e a cultura necessárias para modernizar e criar aplicações de forma mais eficiente, acelerando sua jornada para o desenvolvimento de aplicações nativas em nuvem.O

Red Hat® OpenShift®, junto ao Red Hat OpenShift Pipelines, ajuda as empresas a melhorar a produtividade dos desenvolvedores, automatizar os pipelines de CI/CD e mudar os esforços de segurança no início e durante todo o ciclo de desenvolvimento.O

Red Hat OpenShift GitOps é um operador com um fluxo de trabalho que agrega repositórios Git, ferramentas de integração e entrega contínuas (CI/CD) e Kubernetes para um desenvolvimento de software mais rápido, seguro e escalável. Tudo isso sem comprometer a qualidade. Com o OpenShift GitOps, os clientes podem criar e integrar fluxos de trabalho de CD orientados por Git declarativo diretamente em sua plataforma de desenvolvimento de aplicações.

As ferramentas da Red Hat também podem ajudar com a segurança de CI/CD.O Red Hat Advanced Cluster Security (ACS) for Kubernetes ajuda a proteger cargas de trabalho do Kubernetes em containers nas principais nuvens e plataformas híbridas, incluindo Red Hat OpenShift, Amazon Elastic Kubernetes Service (EKS), Microsoft Azure Kubernetes Service (AKS) e Google Kubernetes Engine (GKE).O Red Hat Trusted Software Supply Chain oferece um conjunto de soluções de segurança focado na proteção de componentes e dependências do software no início do ciclo de vida de desenvolvimento e nos pipelines de criação e release para auditar e solucionar problemas de segurança. Essas soluções incluem o  Red Hat Trusted Profile Analyzer, que gerencia informações sobre listas de materiais de software (SBOM) e correção de vulnerabilidades, e o  Red Hat Trusted Application Pipeline, que oferece definições de pipeline padrão e verificações de segurança automáticas para gerar imagens de build de nível 3 dos níveis de cadeia de suprimentos para artefatos de software (SLSA).

Para auxiliar na automação dos fluxos de trabalho, o Red Hat Ansible® Automation Platform oferece todas as ferramentas que você precisa para implementar a automação em toda a empresa, incluindo uma solução orientada a eventos, analytics e coleções de conteúdo prontas. Com uma linguagem comum baseada em YAML e abordagem de estado desejado, você pode usar o mesmo conteúdo de automação nas operações cotidianas e no pipeline de CI/CD. E, como a solução funciona com praticamente todos os aspectos da infraestrutura de TI, você pode implantar ambientes consistentes de desenvolvimento, teste e produção de maneira fácil e rápida, aumentando a confiabilidade e a resiliência das aplicações.O

Ansible Automation Platform também se integra ao Red Hat Advanced Cluster Management for Kubernetes para você orquestrar clusters do Kubernetes no seu pipeline de CI/CD. Use a linguagem de automação legível por humanos para criar e manter com mais facilidade os operadores do Red Hat OpenShift.

Descubra como a automação oferece suporte a pipelines de CI/CD

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