O que é um pipeline de CI/CD?

Copiar URL

Um pipeline de integração e implantação contínuas (CI/CD) é uma série de etapas estabelecidas que os desenvolvedores precisam seguir para entregar 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 deles por meio da automação.

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

Os pipelines de CI/CD oferecem vantagens para organizações de software que usam máquinas virtuais e aplicações nativas em nuvem baseadas em containers. Com a capacidade de agilizar a integração de atualizações e mudanças no código, as equipes podem responder a feedback dos usuários e mudanças nos negócios de maneira mais frequente e eficaz. Isso gera resultados positivos para os usuários finais. 

Os pipelines de CI/CD, que simplificam e aceleram o desenvolvimento de software, são um reflexo da metodologia DevOps, um conjunto de ideias e práticas que promove a colaboração entre desenvolvedores e equipes de operações de TI.

O "CI" de CI/CD se refere à integração contínua, que inclui criar, testar e mesclar códigos. O "CD" pode significar entrega contínua, que inclui o lançamento automático de software para um repositório. CD também pode significar implantação contínua, adicionando a implantação automática de software à produção.

Um pipeline de CI/CD orienta o desenvolvimento de software por um caminho de criação, testes e implantação do código. Com a automação de processos que viabilizam o CI/CD, as equipes de operações e desenvolvimento podem diminuir os erros humanos e manter o lançamento de software consistente. Os pipelines podem incluir compilação de código, testes de unidade, análise de código, segurança e criação de binários. Para ambientes em containers, esses pipelines ainda podem conter ferramentas para o empacotamento do código em uma imagem de container a ser implantada em uma nuvem híbrida.

Ambos os conceitos têm como foco a automação dos processos de integração de código. Isso significa agilizar como uma ideia (por exemplo, uma nova funcionalidade, solicitação de melhoria ou correção de um bug) vai do desenvolvimento para a implantação no ambiente de produção, onde vai gerar valor para os usuários. Os desenvolvedores, que normalmente criam códigos em um ambiente 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 lançamento de soluções, sem sacrificar a confiabilidade.

Acesse a biblioteca de conteúdos da Red Hat

O Tekton oferece 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 permite que os componentes sejam reutilizados em vários pipelines com definições de recursos personalizados (CRDs) no Kubernetes. O Tekton usa o control plane do Kubernetes para executar tarefas de 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 plugins e do servidor de integração contínua.

Blog: Tekton e Jenkins: qual é a melhor opção para pipelines de CI/CD?

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

As verificações e testes automatizados em um pipeline de CI/CD pode proteger o código e evitar vulnerabilidades na entrega de software. Incorporar a segurança ao pipeline ajuda a proteger os códigos de ataques, evitar vazamentos de dados, cumprir 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 deles na produção.

Mais informações sobre segurança de CI/CD

O Red Hat® OpenShift® Pipelines é uma solução Kubernetes baseada no Tekton, com integração forte às ferramentas do desenvolvedor da Red Hat e ao OpenShift. 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 foi projetado para executar cada etapa do pipeline em seu próprio container. Assim, cada uma delas pode ser expandida de forma independente para atender às demandas do processo.

O OpenShift Pipelines está disponível com uma subscrição e se integra nativamente com o console do OpenShift, permitindo que os desenvolvedores configurem e executem pipelines diretamente com suas aplicações.

Funcionalidades do Red Hat OpenShift Pipelines

Pipelines do Kubernetes
Use as definições de recursos personalizados (CRDs) do Tekton padrão para estabelecer pipelines executados como containers e expandidos on demand.

Execução serverless
Obtenha domínio total sobre os pipelines de entrega, plugins e controle de acesso da sua equipe, 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, além das 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 com mais eficiência, acelerando sua jornada no desenvolvimento de aplicações nativas em nuvem.

O Red Hat OpenShift, com o Red Hat OpenShift Pipelines, ajuda as organizações a melhorarem a produtividade dos desenvolvedores, automatizarem os pipelines de CI/CD e mudarem 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, como 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 com foco na segurança de componentes e dependências de software, desde o início do ciclo de vida de desenvolvimento até a criação e o lançamento de pipelines para auditar e tratar problemas de segurança. Essas soluções também contam com o Red Hat Trusted Profile Analyzer, que gerencia listas de materiais de software (SBOMs) e informações de correção de vulnerabilidades, e o Red Hat Advanced Developer Suite, que incorpora outras ferramentas do desenvolvedor e fornece assinatura automatizada, verificação criptográfica e rastreamento completo da origem de artefatos de software.

Para ajudar a automatizar fluxos de trabalho, o Red Hat Ansible® Automation Platform oferece todas as ferramentas 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

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.

Todos os testes de soluções Red Hat

Com os nossos testes de solução gratuitos, você ganha experiência hands-on, prepara-se para uma certificação ou avalia se uma determinada solução é adequada para sua organização.

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: conteúdo adicional