Lucca Matos
Contato

[GitLab] - CI/CD para iniciantes

Se você está procurando uma maneira de automatizar e otimizar seu processo de desenvolvimento de software, é hora de conhecer o GitLab CI/CD, uma feature do GitLab que te permite descrever todos os passos de integração e implantação contínua da sua aplicação em um único arquivo, tornando seu fluxo de trabalho mais eficiente, confiável e fácil de gerenciar.

Mas antes de mergulhar no GitLab CI/CD, vamos dar uma olhada no que é o GitLab e o que significa CI/CD. Let’s go?

O que é o GitLab?

O GitLab é uma plataforma de código aberto que combina vários recursos, incluindo gerenciamento de código, rastreamento de bugs, controle de versão e muito mais. É uma plataforma completa para equipes de desenvolvimento de software que buscam uma solução integrada para gerenciar todo o seu fluxo de trabalho, desde a codificação até a entrega em produção.

O que é CI/CD?

Etapas de Integração Contínua e Entrega Contínua

CI/CD é uma prática de desenvolvimento de software que busca acelerar o processo de entrega de software ao usuário final, garantindo a qualidade e segurança do código. Ele é composto por duas fases principais: a Integração Contínua (CI) e o Deployment Contínuo (CD).

A Integração Contínua (CI) refere-se à automatização do processo de integração de código, onde os desenvolvedores enviam seus códigos para um repositório central, como o Git, a fim de integrá-los com os códigos de outros desenvolvedores. Cada vez que um código é enviado, os testes automatizados são executados para garantir que o novo código não quebre o software existente.

Já o Deployment Contínuo (CD) se refere à automatização do processo de implantação em produção, ou seja, o processo de colocar o software em produção de forma contínua. Isso permite que as atualizações de software cheguem aos usuários de forma mais rápida e eficiente, sem interrupções ou problemas.

Em resumo, o CI/CD permite que as equipes de desenvolvimento entreguem software de forma mais ágil, segura e eficiente, garantindo a qualidade e a continuidade do processo.

GitLab CI/CD

O GitLab CI/CD é uma ferramenta integrada ao GitLab que permite descrever todos os passos de integração e implantação contínua em um único arquivo, o arquivo .gitlab-ci.yml, armazenado no próprio repositório. Isso significa que você pode ter todo o seu fluxo de trabalho, desde a codificação até a implantação em produção, em um único lugar.

Com o GitLab CI/CD, você pode automatizar tarefas como testes, build, implantações e muito mais, tornando seu processo de desenvolvimento mais rápido, eficiente e confiável. Além disso, você pode visualizar o progresso e o histórico de todas as suas entregas diretamente do GitLab.

Recursos do GitLab CI/CD:

  • Automatização de tarefas: Com o GitLab CI/CD, você pode automatizar tarefas repetitivas, como testes e builds, economizando tempo e aumentando a eficiência.
  • Integração contínua: O GitLab CI/CD permite integrar suas entregas ao longo do tempo, garantindo que você possa entregar software de qualidade rapidamente e com confiança.
  • Pipelines visualmente atraentes: O GitLab CI/CD fornece uma visão clara e atraente de todo o seu pipeline, tornando mais fácil visualizar o progresso e resolver problemas.
  • Integração com o GitLab: Como o GitLab CI/CD é integrado ao GitLab, você pode gerenciar seu código, pipelines e entregas em um único lugar.

Aqui está um exemplo de um arquivo .gitlab-ci.ymlque mostra como o GitLab CI funciona:

image: node:10

stages:

  • build
  • test
  • deploy

build:
stage: build
script:
- npm install
artifacts:
paths:
- node_modules/

test:
stage: test
script:
- npm test
dependencies:
- build

deploy:
stage: deploy
script:
- npm run build
environment:
name: production
only:
- master
when: manual

Este exemplo tem três etapas: build, test e deploy.

Na etapa build, a imagem “node:10” é usada para instalar as dependências do projeto, usando o comando npm install. Os artefatos da instalação são salvo na pasta “node_modules/”.

Na etapa test, o script npm test é executado para rodar os testes unitários do projeto. A etapa “test” depende da etapa “build”, garantindo que as dependências estejam instaladas antes de rodar os testes.

Na etapa deploy, o script npm run build é executado para criar a versão de produção da aplicação. Este processo só será executado quando o usuário clicar manualmente no botão “deploy”, e só será executado para as mudanças na branch “master”. A opção “environment” define que a implantação é feita na ambiente de produção.

Conclusão

Se você está procurando uma solução integrada para integração e implantação contínua, o GitLab CI/CD é a escolha certa. Com sua automatização de tarefas, integração contínua e integração com o GitLab, você pode entregar software de qualidade rapidamente e com confiança. Comece hoje mesmo a experimentar o GitLab CI/CD e transforme seu fluxo de trabalho de desenvolvimento de software.

Obrigado por ler esse artigo! Vamos nos conectar! Me siga no GitHub para encontrar mais coisas sobre o mundo DevOps, DevSecOps e afins. 😁

Fontes

Autor: Lucca Matos.

Fonte (URL ou domínio)Acessada emO que sustenta
A completar por Lucca Matos (local e data da publicação original)A completar por Lucca MatosTodo o conteúdo. Artigo de autoria própria, sem fontes citadas no texto.

As imagens do artigo são links remotos para miro.medium.com. Se o host remover os arquivos, as figuras deixam de aparecer.

Ver também

  • Padrão derivado: Pipeline GitLab CI com varredura Trivy

Depois desta, [Kubernetes] - CSI Driver