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.jsSimulando 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.jsSimulando 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
mainouproduction - 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-actionVerificaçã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
- Introdução ao GitHub Actions
- Criando fluxos de trabalho de CI/CD
- Actions personalizadas e Marketplace
- Segredos e Variáveis de Ambiente nas Actions