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

  1. Identificação do projeto
  2. Análise de viabilidade
  3. Definição de objetivos
  4. Autorização formal
  5. 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

  1. Build: Compilação e preparação
  2. Test: Execução de testes
  3. Deploy: Publicação do resultado
  4. 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

  1. Definição de Objetivos:
    • Objetivo principal do projeto
    • Objetivos específicos mensuráveis
    • Justificativa e valor agregado
    • Critérios de sucesso
  2. Identificação de Stakeholders:
    • Equipe de desenvolvimento
    • Professor (cliente)
    • Usuários finais
    • Outros interessados
  3. Definição de Escopo Inicial:
    • Funcionalidades principais
    • Entregas esperadas
    • Limitações e exclusões
    • Premissas e restrições
  4. 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

  1. Criação do Grupo:

    • Nome: GestaoProjSoft-2025-1-[NomeEquipe]
    • Descrição: Projeto Portfólio de Equipe
    • Visibilidade: Privado
    • Configurações de permissão
  2. Criação do Projeto:

    • Nome: portfolio-equipe
    • Descrição detalhada
    • Inicializar com README.md
    • Configurar .gitignore
  3. 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 principal
  4. Configuraçã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

  1. Definição de Milestones:
    • Sprint 1: Estrutura básica (2 semanas)
    • Sprint 2: Funcionalidades principais (2 semanas)
    • Sprint 3: Refinamento e deploy (2 semanas)
  2. 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
  3. 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

  1. 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"
  2. Configuração do GitLab Pages:

    • Ativar Pages no projeto
    • Configurar domínio personalizado
    • Testar deploy automático
  3. 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


📝 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

📋 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

Back to top