Login / Registre-se Account

DevOps

O que é um pipeline de CI/CD?

Jump to section

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 um software. Os pipelines de integração e entrega contínuas (CI/CD) são uma prática que tem como objetivo acelerar a disponibilização de softwares, adotando a abordagem de DevOps ou de engenharia de confiabilidade de sites (SRE).

O pipeline de CI/CD inclui monitoramento e automação para melhorar o processo 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.

Elementos de um pipeline de CI/CD

As etapas que compõem um pipeline de CI/CD são subconjuntos distintos de tarefas agrupadas no que chamamos de estágio do pipeline. Os estágios típicos do pipeline são:

  • Compilação: estágio em que a aplicação é compilada.
  • Teste: estágio em que o código é testado. O uso da automação neste estágio poupa tempo e esforços.
  • Lançamento: estágio em que a aplicação é enviada ao repositório.
  • Implantação: estágio em que o código é implantado no ambiente de produção.
  • Validação e conformidade: etapas para validar uma versão são determinadas pelas necessidades da empresa. É possível usar ferramentas de verificação da segurança de imagens, como o Clair, para ter certeza da qualidade das imagens ao compará-las com vulnerabilidades (CVEs) conhecidas.
     

Esta não é de forma alguma uma lista completa dos estágios do pipeline. Trata-se apenas de um exemplo dos estágios mais comuns. Seu pipeline será único, satisfazendo exclusivamente aos requisitos da sua empresa.

Containers e pipelines de CI/CD

Os sistemas de CI/CD tradicionais foram projetados para pipelines que usam máquinas virtuais. No entanto, o desenvolvimento de aplicações nativas em nuvem traz vantagens para esse tipo de pipeline. Como é um pipeline de CI/CD com containers?

Usando o projeto open source 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.

OpenShift Pipelines

O OpenShift Pipelines é uma funcionalidade do Red Hat OpenShift incorporada no Tekton, um projeto open source que oferece um framework para criar rapidamente pipelines de CI/CD nativos em nuvem. Tekton é um framework de CI/CD para plataformas Kubernetes que proporciona uma experiência de CI/CD nativa em nuvem padrão com containers. Por ser um framework nativo em Kubernetes, o Tekton facilita a implantação em variados provedores de nuvem ou ambientes híbridos. Ao fazer uso das Definições de Recursos Personalizados (CRDs) no Kubernetes, o Tekton utiliza o plano de controle do Kubernetes para executar tarefas de pipeline. Além disso, o Tekton adota as especificações padrão do setor e, portanto, funciona bem com ferramentas de CI/CD que já existem, como Jenkins, Jenkins X, Skaffold e Knative.

Os principais elementos do pipeline de CI/CD

Red Hat Openshift

Uma plataforma de containers e Kubernetes para acelerar a implantação de aplicações nativas em nuvem.

Red Hat Ansible Automation Platform

O CI/CD precisa de código personalizado e compatibilidade com vários pacotes de software. O Red Hat Ansible Automation Platform é uma linguagem de automação open source com todos esses recursos em uma única composição.

Você pode fazer muito mais com o CI/CD