Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
| pres:gerti:devops:como_criar_uma_pipeline_de_ci_cd:start [17/03/2026 17:28] – ↷ Nome da página alterado de pres:gerti:devops:como_criar_uma_pipeline_de_ci_cd:introducao para pres:gerti:devops:como_criar_uma_pipeline_de_ci_cd:start lvinicius | pres:gerti:devops:como_criar_uma_pipeline_de_ci_cd:start [19/03/2026 15:08] (atual) – removida lvinicius | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| - | ====== Como criar uma pipeline de CI/CD ====== | ||
| - | |||
| - | Este guia irá te ensinar a configurar a pipeline de CI/CD do seu repositório integrando totalmente com a nossa infraestrutura. | ||
| - | |||
| - | ===== Objetivo ===== | ||
| - | Ao final de todos os passos, você terá uma pipeline que: | ||
| - | - Faz **deploy em produção** quando há commit na '' | ||
| - | - Faz **deploy em homologação** quando há commit na '' | ||
| - | - Realiza [[..: | ||
| - | - Executa **testes** automatizados | ||
| - | |||
| - | |||
| - | Este guia está dividido em partes. **Nesta primeira parte**, você vai configurar o **deploy em produção**. | ||
| - | |||
| - | ===== Pré-requisitos ===== | ||
| - | - Antes de começar, se seu projeto ainda não possui uma **Dockerfile** funcional, veja [[..: | ||
| - | - Se não conhece o **Gitflow**, | ||
| - | |||
| - | ===== Conceitos: Jobs e Estágios ===== | ||
| - | |||
| - | Para implementar as pipelines do GitLab, é importante saber que ela funciona com **Jobs** organizados em **Estágios**, | ||
| - | |||
| - | Vamos apresentar brevemente esses conceitos pois, com a biblioteca [[https:// | ||
| - | |||
| - | Para mais informações, | ||
| - | |||
| - | ==== Job ==== | ||
| - | Cada Job é um script (definido por nós, desenvolvedores) que realiza alguma tarefa: executar um **teste**, fazer o **versionamento**, | ||
| - | |||
| - | <code yaml> | ||
| - | test-job: | ||
| - | image: python: | ||
| - | stage: test | ||
| - | before_script: | ||
| - | |||
| - | - pip install pytest | ||
| - | script: | ||
| - | |||
| - | - pytest # Comando que efetivamente executa os tests | ||
| - | allow_failure: | ||
| - | |||
| - | tags: | ||
| - | - docker-pipes-runner | ||
| - | </ | ||
| - | |||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | **Dica**: O '' | ||
| - | |||
| - | ==== Estágios ==== | ||
| - | Se os **Jobs** são as tarefas, os **Estágios** são o cronograma da linha de montagem. Eles definem a **ordem de execução**: | ||
| - | |||
| - | <code yaml> | ||
| - | # A ordem aqui define a ordem de execução | ||
| - | stages: | ||
| - | |||
| - | - lint # 1. Verifica estilo e erros de sintaxe | ||
| - | - tests # 2. Executa os testes automatizados | ||
| - | - sonar # 3. Analisa cobertura e segurança (Quality Gate) | ||
| - | - semantic-release | ||
| - | - build # 5. Gera o pacote/ | ||
| - | - deploy | ||
| - | |||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | ===== Parte 1: Deploy em Produção ===== | ||
| - | |||
| - | ==== 1. Acessando o Editor de Pipeline ==== | ||
| - | |||
| - | O GitLab centraliza a configuração da pipeline no arquivo '' | ||
| - | |||
| - | - No menu lateral do seu projeto, acesse **Compilação > Editor de pipeline**. | ||
| - | - Caso o arquivo ainda não exista, o GitLab oferecerá um modelo padrão. Apague o conteúdo inicial para começarmos do zero. | ||
| - | |||
| - | ==== 2. Declarando os Estágios ==== | ||
| - | |||
| - | No topo do arquivo, declare o estágio de '' | ||
| - | |||
| - | <code yaml> | ||
| - | stages: | ||
| - | |||
| - | - deploy | ||
| - | </ | ||
| - | |||
| - | > Mais estágios serão adicionados nas próximas partes do tutorial. | ||
| - | |||
| - | ==== 3. Importando o Componente de Deploy ==== | ||
| - | |||
| - | Para garantir simplicidade e padronização, | ||
| - | |||
| - | * No topo do Editor de Pipeline, clique em **Catálogo de CI/CD** > **TCE.Templates**. (Aqui é possível ver a documentação dos componentes) | ||
| - | * Localize o componente '' | ||
| - | * Adicione o bloco de inclusão no seu arquivo: | ||
| - | |||
| - | <code yaml> | ||
| - | stages: | ||
| - | - deploy | ||
| - | |||
| - | include: | ||
| - | - component: $CI_SERVER_FQDN/ | ||
| - | inputs: | ||
| - | environment: | ||
| - | compose-file: | ||
| - | tag: dockers-prod-runner | ||
| - | </ | ||
| - | |||
| - | |||
| - | O '' | ||
| - | |||
| - | O '' | ||
| - | |||
| - | > Os componentes funcionam como funções: você passa os parâmetros necessários (inputs) e a automação sabe como se comportar no seu projeto. | ||
| - | |||
| - | === Boas práticas: Especifique a versão === | ||
| - | ---- | ||
| - | |||
| - | No final do '' | ||
| - | |||
| - | É **extremamente** recomendado especificar qual versão da biblioteca você está utilizando, pois sua pipeline não terá chances de quebrar caso haja atualizações da biblioteca. | ||
| - | |||
| - | Na escrita deste artigo, a versão mais atual é a versão `2.0.0`. É recomendado sempre utilizar a versão mais recente. | ||
| - | |||
| - | > | ||
| - | |||
| - | === Dica: Atualizando a pipeline === | ||
| - | ---- | ||
| - | |||
| - | Futuramente, | ||
| - | |||
| - | ==== 4. Habilitando o Runner no Projeto ==== | ||
| - | |||
| - | Os runners são os servidores que executam os jobs da pipeline. Por padrão, runners de grupo não ficam habilitados automaticamente em projetos novos — é necessário ativá-los manualmente. | ||
| - | |||
| - | 1. No menu lateral do projeto, acesse **Configurações > CI/CD**. | ||
| - | 2. Expanda a seção **Executores** (Runners). | ||
| - | 3. Na lista de **Executores de grupo disponíveis**, | ||
| - | 4. Clique no botão **Habilitar** ao lado dele. | ||
| - | |||
| - | |||
| - | > Se pular este passo, a pipeline ficará travada com status **" | ||
| - | |||
| - | |||
| - | ==== 5. Validar e Commitar ==== | ||
| - | |||
| - | - Utilize a aba **Visualizar** no editor para garantir que a sintaxe está correta. | ||
| - | - Se tudo estiver certo, clique em **Commit changes** no final da página. | ||
| - | - Faça o commit direto na branch '' | ||
| - | |||
| - | |||
| - | Sua pipeline vai rodar imediatamente. Acesse **Compilação > Pipelines** para acompanhar a execução. | ||
| - | |||
| - | ==== O que esperar ==== | ||
| - | |||
| - | |||
| - | Após o commit na '' | ||
| - | - Um pipeline criado automaticamente. | ||
| - | - O estágio '' | ||
| - | - O job finalizando com sucesso (ícone verde ✓). | ||
| - | |||
| - | |||
| - | Se o job falhar, acesse o log do job clicando nele para investigar o erro. | ||
| - | |||
| - | |||
| - | ===== Próximos Passos ===== | ||
| - | |||
| - | * **Parte 2**: [[..: | ||
| - | * **Parte 3**: Adicionando o job de Semantic Release | ||
| - | * **Parte 4**: Adicionando o job de Testes | ||
| - | |||
| - | ===== FAQ ===== | ||
| - | |||
| - | |||