📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Módulo 13: DevOps e Cloud. Recomendado revisar antes de começar.

🐙 Pipeline Git Flow, Commits Semânticos & GitHub Actions

v1.0 — Versionamento Profissional, Branching Strategy e Automação de CI/CD

Trilha de Especialização Pedagógica — Projeto 1 de 4

🎓 Nível Profissional Simulado: Desenvolvedor Júnior / Engenheiro DevOps Trainee. Saber git commit e git push não é suficiente para o mercado. Equipes de alta performance trabalham com fluxos estruturados de branches, mensagens semânticas rastreáveis e pipelines de Integração Contínua (CI) que bloqueiam código quebrado antes de chegar em produção.

—`

🎯 Objetivo & Escopo do Projeto

Implementar um fluxo de versionamento corporativo com Git Flow, padronização de Conventional Commits (feat:, fix:, docs:, refactor:), abertura de Pull Requests com Template de Revisão e pipeline automatizado de GitHub Actions para validação de build e testes a cada commit.

—`

🧑‍💼 Fase 1 — Levantamento de Requisitos

O Briefing do Cliente (Tech Lead da Equipe de Engenharia)

“Nosso time está cometendo código quebrado direto na branch main com mensagens inúteis como ‘ajustes’ ou ‘arrumando bug’. Precisamos padronizar o Git Flow com branches separadas por funcionalidade, exigir commits semânticos rastreáveis e configurar um workflow do GitHub Actions que rode os testes automaticamente em todo Pull Request e trave o merge se houver erros.”

Requisitos Funcionais (RF) e Não-Funcionais (RNF)

ID Tipo Descrição Origem no Briefing
RF01 Funcional Estruturar branches main, develop e feature/US.... “branches separadas por funcionalidade”
RF02 Funcional Padronizar mensagens de commit segundo a convenção Conventional Commits. “commits semânticos rastreáveis”
RF03 Funcional Configurar workflow de CI no GitHub Actions (.github/workflows/ci.yml). “workflow do GitHub Actions”
RNF01 Não-Funcional O pipeline de CI deve executar em menos de 2 minutos no GitHub. Produtividade / CI
RNF02 Não-Funcional Trava de merge se a suíte de testes falhar no Pull Request. Qualidade de Software

—`

📋 Fase 2 — Backlog & User Stories

ID User Story Prioridade
US01 Como desenvolvedor, quero abrir uma branch de feature e submeter um PR com checklist. Alta
US02 Como Tech Lead, quero ver o status do build do GitHub Actions direto na interface do PR. Alta

—`

🌿 Fase 3 — Engenharia em Equipe (Git Flow Passo a Passo)

# 1. Partir da branch principal atualizada
git checkout main && git pull origin main

# 2. Criar branch da funcionalidade
git checkout -b feature/US01-pipeline-ci

# 3. Commitar com mensagem semântica
git add .
git commit -m "ci: adicionar workflow do github actions para validacao de testes (US01)"

# 4. Enviar para o GitHub
git push -u origin feature/US01-pipeline-ci

—`

🛠️ Fase 4 — Implementação Guiada (.github/workflows/ci.yml)

name: Continuous Integration
on:
  pull_request:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Executar Testes Automatizados
        run: echo "Executando testes no ambiente de CI..."

—`

🚀 Como Executar no Laboratório

1. Abra o terminal na pasta deste projeto

No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:

cd devops_01_pipeline_git_actions

2. Execute a aplicação ou testes

terraform init && terraform plan
# ou docker-compose up -d

[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd proj_aplicacoes_full_stack/projetos/devops_01_pipeline_git_actions`

🧭 Decisões de Arquitetura (ADRs)

—`

🧪 Testes de Validação & Simulação de Falha

—`

✅ Checkpoint Final

  1. Workflow do GitHub Actions configurado e ativo.
  2. Padrão de branches e commits semânticos implementado.

⬅️ Ver Todos os Projetos no Super-Hub 🏠 Página Inicial do Portal