📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Módulo 13: DevOps e Cloud. Recomendado revisar antes de começar.
v1.0 — Versionamento Profissional, Branching Strategy e Automação de CI/CD
Trilha de Especialização Pedagógica — Projeto 1 de 4
- ➡️ v1 (este): Git Flow · Conventional Commits · Pull Requests · GitHub Actions CI
- v2: Trunk-Based Development & Monorepos
- v3: Git Hooks com Husky & Lint-Staged
- v4: Release Automation & Semantic Release
🎓 Nível Profissional Simulado: Desenvolvedor Júnior / Engenheiro DevOps Trainee. Saber
git commitegit pushnã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.
—`
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.
—`
“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.”
| 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 |
—`
| 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 |
—`
# 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
—`
.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..."
—`
No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:
cd devops_01_pipeline_git_actions
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`
—`
—`
- Workflow do GitHub Actions configurado e ativo.
- Padrão de branches e commits semânticos implementado.
| ⬅️ Ver Todos os Projetos no Super-Hub | 🏠 Página Inicial do Portal |