O que são pipelines de CI/CD?
Pipelines de CI/CD consistem 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.
Reduza a complexidade e acelere a TI com uma abordagem de automação voltada para toda a empresa
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.
Otimize pipelines de CI/CD com o Red Hat Ansible Automation Platform
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?
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.