Diretrizes do Projeto Prático: Módulo 1 de 4
Módulo 1: Iniciação e Planejamento do Projeto
Objetivo: Este guia marca o início do projeto prático. O objetivo é que sua equipe formalize a iniciação do projeto, crie o ambiente de trabalho no GitLab e execute o planejamento inicial. O foco está na organização e na definição do escopo do projeto, que será um Portfólio de Equipe com páginas de perfil individuais.
Introdução ao Git Essencial
Para a colaboração no projeto, o controle de versão com o Git é fundamental. Aqui estão os comandos básicos que sua equipe irá utilizar:
git clone https://seuprojeto.com.br/: Cria uma cópia local do repositório GitLab na sua máquina. Cada membro da equipe deve executar este comando uma vez.git add .: Adiciona todas as alterações feitas na sua máquina para serem “empacotadas” para um commit.git commit -m "[Mensagem]": Salva as alterações no seu histórico local. A mensagem deve ser curta e clara sobre o que foi feito.git push origin main: Envia as alterações do seu histórico local para o repositório remoto no GitLab. Este comando é o que sincroniza seu trabalho com o da equipe.
Sugestão: É recomendado que cada membro da equipe clone o repositório do projeto em sua máquina e use o editor de código de sua preferência (como VS Code, Sublime Text, etc.) para trabalhar nos arquivos.
Explicação das Ferramentas no GitLab
Para este projeto, usaremos o GitLab como nossa principal ferramenta de gestão. As funcionalidades de Milestones e Issues serão cruciais para o planejamento e monitoramento.
- Milestones: Representam grandes marcos ou fases do projeto. Pense nelas como as principais entregas ou prazos. No nosso caso, cada módulo do trabalho será uma Milestone. Criar uma Milestone ajuda a equipe a focar nos objetivos de uma fase específica do projeto.
- Issues: São as tarefas granulares e rastreáveis. Tudo o que precisa ser feito no projeto deve ser uma issue. Elas podem ser tarefas de programação, escrita, design, ou qualquer outra atividade. A grande vantagem é que elas permitem atribuir responsabilidades, acompanhar o progresso e estimar o tempo de conclusão. É obrigatório que as issues tenham uma previsão de tempo (ex:
1h 30min) para auxiliar no planejamento.
Estrutura de Branches e CI/CD
Branches
O projeto utilizará uma estrutura de branches para organizar o desenvolvimento: * main: Branch principal, protegida, para código estável * develop: Branch de desenvolvimento, onde as features são integradas * Branches de feature: Criadas a partir da develop para cada nova funcionalidade
CI/CD (Continuous Integration/Continuous Deployment)
O GitLab automatizará a construção e publicação do site: * Pipeline automático: Executa a cada commit na branch main * Build do Hugo: Gera o site estático automaticamente * Deploy: Publica o site em GitLab Pages * Documentação HTML: Converte automaticamente os arquivos Markdown para HTML
Boards Kanban
Para visualizar e gerenciar o progresso das tarefas: * Backlog: Tarefas planejadas * To Do: Tarefas prontas para execução * In Progress: Tarefas em andamento * Review: Tarefas em revisão * Done: Tarefas concluídas
Tarefas Práticas:
- Formação de Equipes: Sua equipe deve ser composta por 3 integrantes.
- Configuração do Projeto no GitLab:
- Um membro da equipe deve criar um novo Grupo no GitLab. Este grupo servirá como o espaço de trabalho para a equipe.
- Dentro do Grupo, crie um novo projeto que será o seu repositório de trabalho. O nome deve ser claro e identificável (ex:
Portifolio-Equipe-X-GPSO). - Adicione todos os membros da equipe ao projeto com a função de
Maintainer. - Importante: Adicione o Professor Aléssio como membro do projeto com a função de
Reporter. Isso permitirá que ele acompanhe o progresso e o histórico de cada membro.
- Definição do Projeto: Crie um arquivo
README.mdna raiz do projeto. Este arquivo deve conter:- O nome do projeto (
Portfólio de Equipe com Hugo). - Uma breve descrição do projeto, incluindo os objetivos e o que será construído.
- O nome dos membros da equipe e seus papéis iniciais (ex: Gerente, Documentador).
- O nome do projeto (
- Planejamento Inicial:
- Crie a primeira Milestone no GitLab com o título
Planejamento Inicial. - Crie as
issuescorrespondentes às tarefas de planejamento e documentação. As tarefas devem ser distribuídas entre os membros e associadas à Milestone. Exemplos deissues:Definir a arquitetura do site (página principal e páginas de perfis)Definir a identidade visual da equipe (tema, cores, etc.)Escrever a missão e o propósito do timeDefinir os requisitos de conteúdo para as páginas de perfil
- Atribua as issues aos membros da equipe e defina um prazo de entrega. Lembre-se de adicionar uma previsão de tempo a cada uma.
- Crie a primeira Milestone no GitLab com o título
- Configuração Técnica:
- Configure as branches
mainedevelopcom proteções adequadas - Crie o arquivo
.gitlab-ci.ymlpara automação do build e deploy - Configure o Board Kanban para gerenciar o fluxo de trabalho
- Teste o pipeline CI/CD para garantir que está funcionando
- Configure as branches
Avaliação (Critérios Baseados no GitLab):
- Configuração do Repositório (30%): Avalia a correta criação do Grupo, do Projeto e a adição de todos os membros (incluindo o professor) com os papéis corretos.
- Planejamento no GitLab (40%): Análise da qualidade da Milestone e das issues criadas. As issues devem ser claras, bem descritas e corretamente atribuídas, incluindo a previsão de tempo.
- Contribuições Individuais (30%): O histórico de commits, pushes e a atividade em cada issue serão analisados para verificar a participação de cada membro no planejamento inicial.
Recursos Adicionais
Para detalhes técnicos completos sobre configuração de branches, CI/CD, e outras funcionalidades do GitLab, consulte o documento checkpoint-01.tex que contém instruções passo a passo detalhadas.