CI/CD no GitLab
Tags: gitlab, git, beginners, devops
Published: 2021-12-13 13:27:42

## Definindo CI/CD

A integração contínua é a prática de mesclar todo o código que está sendo produzido pelos desenvolvedores. A fusão geralmente ocorre várias vezes ao dia em um repositório compartilhado. De dentro do repositório ou ambiente de produção, a construção e os testes automatizados são realizados para garantir que não haja problemas de integração e a identificação antecipada de quaisquer problemas.

A Entrega Contínua acrescenta que o software pode ser liberado para produção a qualquer momento, muitas vezes empurrando automaticamente as alterações para um sistema de teste.

A implantação contínua vai além e leva as alterações para a produção automaticamente.

## CI/CD no GitLab

A Integração Contínua (CI) trabalha para integrar o código fornecido por sua equipe em um repositório compartilhado. Os desenvolvedores compartilham o novo código em uma solicitação de mesclagem (pull). A solicitação aciona um pipeline para construir, testar e validar o novo código antes de mesclar as alterações em seu repositório.

A prática de Entrega Contínua (CD) garante a entrega de código validado de CI para sua aplicação por meio de um pipeline de implantação estruturado.

Juntos, CI e CD agem para acelerar a rapidez com que sua equipe pode entregar resultados para seus clientes e partes interessadas. O CI ajuda a detectar e reduzir bugs no início do ciclo de desenvolvimento, e o CD move o código verificado para seus aplicativos com mais rapidez.

CI e CD devem funcionar perfeitamente juntos para que sua equipe construa de forma rápida e eficaz, além de ser essencial para garantir uma prática de desenvolvimento totalmente otimizada. GitLab CI/CD é classificado como nº 1 no Forrester CI Wave.

## Beneficios do GitLab CI/CD

- **Detecção de erro** -detecta erros o mais rápido possível: corrija problemas enquanto eles ainda estão
- **Maior eficiência** - reduz os problemas de integração: problemas menores são mais fáceis de digerir e corrigir imediatamente. Os bugs não desligam todo o seu sistema.
- **Sem efeito bola de neve** - evita problemas complexos: permite que as equipes se desenvolvam mais rapidamente, com mais confiança e colaboração.
- **Estágios de lançamento** - garante que todas as alterações sejam liberáveis: teste tudo, incluindo a implantação, antes de concluí-lo com menos risco em cada lançamento.
- **Entrega valiosa** - agrega valor com mais frequência: implantações confiáveis significam mais lançamentos
- **Melhores processos de feedback** - ciclos apertados de feedback do cliente: o feedback rápido e frequente do cliente sobre as mudanças permite a melhoria contínua do seu produto.

## Recursos de CI/CD no GitLab por Lifecycle Stage

Aqui estão os recursos que você pode usar no GitLab para CI/CD. Eles são mostrados de acordo com o estágio do DevOps Lifecycle. A seguir, veremos alguns dos principais recursos e como usá-los nos estágios de verificação, pacote e liberação do ciclo de vida. Abordaremos o estágio de segurança ainda hoje.


![Gitlab recursos](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5k4vry37ccbcv1s8x4z5.png)

## Recursos do GitLab CI/CD

Existem vários recursos diferentes no fluxo de CI/CD do GItLab. Use o site a seguir para concluir o exercício abaixo para indicar se o recurso está disponível com o GitLab ou não.

[https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/)

Eu uso uma ferramenta para gestão visual do Git (gosto de cores e caixas). GitKraken, super recomendo e tem uma comunidade bem legal para apoiar.