Aula 3: Planejamento no GitLab
Data: 11/09/2025
Módulo: 1 - Fundamentos e Iniciação do Projeto
Duração: 90 minutos
Tipo: Teórico-Prática
📋 Resumo Executivo
Esta aula introduz os conceitos fundamentais de planejamento de projetos utilizando o GitLab como plataforma central. Os alunos aprenderão sobre iniciação formal de projetos, configuração de repositórios, gestão de issues e milestones, além de implementar automação com CI/CD. A aula combina teoria com prática, preparando as equipes para organizar e executar seus projetos de forma profissional.
🎯 Objetivos da Aula
Objetivos Gerais
- Introduzir o processo de iniciação formal de projetos
- Dominar a configuração de repositórios GitLab
- Aplicar conceitos de gestão ágil com Issues e Milestones
- Implementar automação com CI/CD
Objetivos de Aprendizagem
- Compreender o processo de iniciação formal de projetos
- Dominar a configuração de repositórios GitLab
- Aplicar conceitos de gestão ágil com Issues e Milestones
- Implementar automação com CI/CD
- Organizar equipes e definir responsabilidades
⏰ Cronograma da Aula
| Tempo | Atividade | Descrição |
|---|---|---|
| 15 min | Revisão e Contexto | Revisão da aula anterior e contexto do GitLab |
| 25 min | Iniciação Formal | Project Charter e configuração inicial |
| 30 min | Configuração GitLab | Repositórios, Issues e Milestones |
| 20 min | CI/CD e Automação | Pipeline básico e automação |
📚 Conteúdo Teórico
1. Iniciação Formal do Projeto
Project Charter
- Definição: Documento que autoriza formalmente o projeto
- Elementos essenciais:
- Objetivos e justificativa
- Escopo inicial
- Stakeholders principais
- Recursos necessários
- Riscos iniciais
- Critérios de sucesso
Processo de Iniciação
- Identificação do projeto
- Análise de viabilidade
- Definição de objetivos
- Autorização formal
- Comunicação aos stakeholders
2. Configuração de Repositórios GitLab
Estrutura de Repositórios
- Repositório único: Toda documentação e código em um local
- Múltiplos repositórios: Separação por componente
- Vantagens e desvantagens de cada abordagem
- Recomendação: Repositório único para projetos acadêmicos
Configuração Inicial
- Criação do grupo no GitLab
- Configuração de permissões
- Estrutura de pastas padronizada
- README.md inicial
- Gitignore apropriado
3. Gestão de Issues e Milestones
Issues (Tarefas)
- Tipos de issues:
- Feature (funcionalidade)
- Bug (correção)
- Task (tarefa)
- Epic (conjunto de features)
Estrutura de uma Issue
- Título: Descrição clara e concisa
- Descrição: Detalhamento da tarefa
- Critérios de aceitação: Como validar a conclusão
- Labels: Categorização e priorização
- Assignee: Responsável pela tarefa
- Milestone: Sprint ou fase do projeto
Milestones (Marcos)
- Definição: Marcos temporais do projeto
- Características:
- Data de início e fim
- Issues associadas
- Progresso visual
- Critérios de conclusão
4. CI/CD e Automação
Conceitos Básicos
- CI (Continuous Integration): Integração contínua
- CD (Continuous Deployment): Deploy contínuo
- Pipeline: Sequência de etapas automatizadas
- Benefícios: Qualidade, velocidade, confiabilidade
Pipeline Básico
- Build: Compilação e preparação
- Test: Execução de testes
- Deploy: Publicação do resultado
- Notify: Notificação de status
🛠️ Atividades Práticas
Tarefa 1: Criação do Project Charter
Objetivo
Documentar formalmente o projeto Portfólio de Equipe.
Passos
- Definição de Objetivos:
- Objetivo principal do projeto
- Objetivos específicos mensuráveis
- Justificativa e valor agregado
- Critérios de sucesso
- Identificação de Stakeholders:
- Equipe de desenvolvimento
- Professor (cliente)
- Usuários finais
- Outros interessados
- Definição de Escopo Inicial:
- Funcionalidades principais
- Entregas esperadas
- Limitações e exclusões
- Premissas e restrições
- Documentação:
- Criar documento no GitLab
- Usar template padronizado
- Revisar e aprovar em equipe
Critérios de Sucesso
Tarefa 2: Configuração do Repositório GitLab
Objetivo
Configurar repositório profissional para o projeto.
Passos
Criação do Grupo:
- Nome:
GestaoProjSoft-2025-1-[NomeEquipe] - Descrição: Projeto Portfólio de Equipe
- Visibilidade: Privado
- Configurações de permissão
- Nome:
Criação do Projeto:
- Nome:
portfolio-equipe - Descrição detalhada
- Inicializar com README.md
- Configurar .gitignore
- Nome:
Estrutura de Pastas:
portfolio-equipe/ ├── docs/ # Documentação ├── src/ # Código fonte ├── static/ # Arquivos estáticos ├── templates/ # Templates Hugo ├── .gitlab-ci.yml # Pipeline CI/CD └── README.md # Documentação principalConfiguração de Acesso:
- Adicionar todos os membros como Maintainer
- Adicionar professor como Reporter
- Testar permissões
Critérios de Sucesso
Tarefa 3: Criação de Issues e Milestones
Objetivo
Organizar o trabalho em tarefas gerenciáveis.
Passos
- Definição de Milestones:
- Sprint 1: Estrutura básica (2 semanas)
- Sprint 2: Funcionalidades principais (2 semanas)
- Sprint 3: Refinamento e deploy (2 semanas)
- Criação de Issues:
- Setup inicial:
- Configurar ambiente de desenvolvimento
- Instalar Hugo e dependências
- Configurar tema básico
- Página principal:
- Layout responsivo
- Navegação funcional
- Seções definidas
- Páginas de perfil:
- Template de perfil
- Formulário de contato
- Galeria de projetos
- Setup inicial:
- Organização:
- Associar issues aos milestones
- Definir labels (feature, bug, task)
- Atribuir responsáveis
- Estimar esforço
Critérios de Sucesso
Tarefa 4: Configuração de CI/CD
Objetivo
Implementar automação básica para o projeto.
Passos
Criação do .gitlab-ci.yml:
stages: - build - deploy build: stage: build image: registry.git.juninho.com.br/pages/hugo:latest script: - hugo artifacts: paths: - public deploy: stage: deploy script: - echo "Deploy to GitLab Pages"Configuração do GitLab Pages:
- Ativar Pages no projeto
- Configurar domínio personalizado
- Testar deploy automático
Teste do Pipeline:
- Fazer commit de mudanças
- Verificar execução do pipeline
- Validar deploy automático
Critérios de Sucesso
📖 Material de Apoio
Recursos Necessários
- Acesso ao GitLab
- Computador com navegador
- Documentação do Hugo
- Templates de Project Charter
Templates Disponíveis
- Template de Project Charter
- Guia de Configuração GitLab
- Exemplo de .gitlab-ci.yml
- Template de Issues
📝 Avaliação
Questionário Google Forms
- Momento: Final da aula
- Objetivo: Verificar compreensão dos conceitos
- Conteúdo: GitLab, Issues, Milestones, CI/CD
- Link: Questionário da Aula 3
Critérios de Avaliação
- Participação: Engajamento nas atividades
- Execução: Conclusão das tarefas práticas
- Compreensão: Respostas no questionário
- Organização: Qualidade da documentação
🔗 Links Importantes
- Questionário da Aula 3
- Template de Project Charter
- Guia de Configuração GitLab
- Documentação CI/CD
- GitLab da Disciplina
- Documentação Hugo
📋 Próximos Passos
Para os Alunos
Para a Próxima Aula
- Aula 4: Escopo e Cronograma
- Foco: Definição detalhada de escopo e cronograma
- Pré-requisito: Repositório configurado e issues criadas
📊 Checklist da Aula
Professor
Alunos
🎯 Projeto Portfólio: Estrutura GitLab
Organização Recomendada
portfolio-equipe/
├── docs/ # Documentação do projeto
│ ├── project-charter.md # Charter do projeto
│ ├── requirements.md # Requisitos funcionais
│ └── architecture.md # Arquitetura do sistema
├── src/ # Código fonte
│ ├── content/ # Conteúdo do site
│ ├── layouts/ # Templates Hugo
│ └── static/ # Arquivos estáticos
├── .gitlab-ci.yml # Pipeline CI/CD
├── README.md # Documentação principal
└── .gitignore # Arquivos ignorados
Issues por Sprint
- Sprint 1: Setup e estrutura básica
- Sprint 2: Funcionalidades principais
- Sprint 3: Refinamento e deploy
Próxima aula: Aula 4 - Escopo e Cronograma