0Pricing
DevOps Bootcamp · Aula

Criando fluxos de trabalho de CI/CD

Crie pipelines práticos de CI/CD para compilar, testar e implantar seu código automaticamente após envios ou solicitações de mesclagem.

Criando fluxos de trabalho de CI/CD é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Boas-vindas à CI/CD

Nesta lição, você aprenderá a criar pipelines de Integração Contínua (CI) e Entrega Contínua (CD) poderosos usando o GitHub Actions.

A CI/CD automatiza seu processo de desenvolvimento de software, desde as alterações no código até a publicação, tornando-o mais rápido e confiável.

Por que a CI/CD é importante

Por que a automação é tão essencial no desenvolvimento moderno de software?

  • Feedback mais rápido: detecte erros e problemas de integração antecipadamente executando testes automaticamente.
  • Compilações consistentes: garanta que toda compilação siga as mesmas etapas, reduzindo problemas do tipo "funciona na minha máquina".
  • Publicações confiáveis: publique novos recursos ou correções com confiança e menos erros manuais.
  • Colaboração aprimorada: as equipes integram alterações com frequência e sem problemas, minimizando conflitos de mesclagem.

GitHub Actions: conceitos básicos

O GitHub Actions usa fluxos de trabalho definidos em arquivos YAML. Esses arquivos ficam em um diretório especial do seu repositório: .github/workflows/.

Um fluxo de trabalho define uma série de tarefas, e cada tarefa contém etapas que executam comandos ou usam ações pré-criadas. É assim que você informa ao GitHub o que fazer!

Criando seu primeiro fluxo de trabalho de CI

Vamos criar um fluxo de trabalho básico de CI que seja acionado a cada push para o seu repositório. Ele configurará o Node.js e simulará um processo de compilação de projeto.

Salve este conteúdo como .github/workflows/ci.yml no seu repositório:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Build project
        run: node build.js

Simulando o script de compilação

O comando node build.js no fluxo de trabalho executaria um script como este. Esse script simula o trabalho de compilar, agrupar ou preparar o código do seu aplicativo.

Tente executá-lo para ver o resultado:

console.log("Starting project build...");
console.log("  - Compiling source files...");
console.log("  - Bundling assets for deployment...");
console.log("Build process finished successfully!");

Adicionando testes automatizados

Uma parte essencial da CI é executar testes automatizados. Vamos estender nosso fluxo de trabalho para incluir uma etapa de teste depois da instalação das dependências. Se os testes falharem, o fluxo de trabalho falhará, impedindo que código com problemas avance!

Vamos adicionar uma etapa test assim:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: node test.js
      - name: Build project
        run: node build.js

Simulando o script de testes

Este é um script simples test.js que seu fluxo de trabalho poderia executar. Em um projeto real, isso envolveria estruturas de testes como Jest ou Mocha, mas este exemplo demonstra o princípio de executar testes.

Execute-o para ver um resultado de teste simulado:

console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing

if (allTestsPass) {
  console.log("All 12 tests passed successfully!");
} else {
  console.error("Tests failed! Please fix the errors.");
  process.exit(1); // Exit with a non-zero code to indicate failure
}

Apresentando a Entrega Contínua (CD)

Enquanto a CI se concentra em compilar e testar, a Entrega Contínua (CD) vai além, publicando automaticamente seu aplicativo em um servidor ou serviço de nuvem assim que todas as verificações de CI são aprovadas.

Gatilhos comuns de CD incluem:

  • Criar uma nova tag do Git, como v1.0.0
  • Enviar código para uma branch específica, como main ou production
  • Criar uma versão no GitHub

Um fluxo de trabalho simples de CD

Este é um fluxo de trabalho acionado por uma nova tag do Git e que inclui uma etapa de publicação simulada. Em uma situação real, essa etapa interagiria com seu provedor de hospedagem, como AWS, Azure ou Heroku.

Salve-o como .github/workflows/cd.yml:

name: Deploy to Production

on:
  push:
    tags:
      - 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Simulate deployment
        run: |
          echo "Deploying application to production server..."
          echo "Version: ${{ github.ref_name }}"
          echo "Deployment complete!"
          # In a real scenario, you'd use a deployment action here
          # e.g., aws-actions/configure-aws-credentials, appleboy/ssh-action

Verificação do fluxo de trabalho de CI/CD

Quais das opções a seguir são benefícios importantes da implementação de pipelines de CI/CD?

Recapitulação: criação de CI/CD

Você aprendeu a criar fluxos de trabalho robustos de CI/CD com o GitHub Actions!

  • Definimos CI/CD e seus benefícios para o desenvolvimento moderno.
  • Exploramos a estrutura YAML essencial de um fluxo de trabalho do GitHub Actions.
  • Criamos fluxos de trabalho de CI para automatizar compilações e testes de projetos.
  • Projetamos um fluxo de trabalho de CD para publicações automatizadas acionadas por tags.

Continue automatizando para entregar código com mais rapidez e confiança!

Perguntas Frequentes

A aula “Criando fluxos de trabalho de CI/CD” é grátis?

Sim — o texto completo de “Criando fluxos de trabalho de CI/CD” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Criando fluxos de trabalho de CI/CD”?

Crie pipelines práticos de CI/CD para compilar, testar e implantar seu código automaticamente após envios ou solicitações de mesclagem. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Criando fluxos de trabalho de CI/CD”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Introdução ao GitHub Actions
  2. Criando fluxos de trabalho de CI/CD
  3. Actions personalizadas e Marketplace
  4. Segredos e Variáveis de Ambiente nas Actions
← Voltar para DevOps Bootcamp