Customização, Deployment eManutenção de Código usando Git      Aplicação aos Moodles da USP       Helbert dos Santos, Ewou...
Grupo ATP: Apoio técnico-pedagógico a    Ambientes de Aprendizagem   → Uma proliferação de Moodles
Contexto• Múltiplas instâncias Moodle (Projetos)     • RedeFor, Licenciatura em Ciências, EVC, Moodle do      Stoa, Moodle...
Problema  Como manter customizações + múltiplas instâncias?– Acompanhar as atualizações “upstream” (melhorias e segurança)...
Nossa solução• Software de controle de revisões de código  distribuído (DVCS, distributed version control system) Ex. Git,...
Conceitos sobre “Controle de Versões”   1. Versionamento local                            • Registra alterações de arquivo...
Conceitos sobre “Controle de Versões”    2. Versionamento remoto e central (cvs, subversion)                              ...
Conceitos sobre “Controle de Versões”3. Versionamento distribuído (git, mercurial)                         fluxo de trabal...
repositório central: Ex. github,      git.atp.usp.br(um dos) repo(s) de                      repo de produçãodesenvolvimen...
Workflow GIT: “Deploy do Projeto X”
Workflow GIT: “Deploy do Projeto X”
Workflow GIT: “Deploy do Projeto X”
Workflow GIT: “Deploy do Projeto X”
Workflow GIT: “Replicar código genérico”Temos N instâncias de um determinado software, cadauma com algumas customizações. ...
Workflow GIT: “Replicar código Moodle genérico”
Workflow GIT: “Replicar código genérico”
Workflow GIT: “Replicar código Moodle genérico”
Workflow GIT: “Replicar código genérico”
Workflow GIT: “Replicar código genérico”
Workflow GIT: “Atualização Moodle upstream”   Incorporar atualizações (de segurança e melhorias)   sem perder as suas cust...
Workflow GIT: “Atualização Moodle”
Workflow GIT: “Atualização Moodle”
Workflow GIT: “Atualização Moodle”
Workflow GIT: “Atualização Moodle”
Workflow GIT: “Atualização Moodle”
Workflow GIT: “Atualização Moodle”
Workflow GIT: “Atualização Moodle”
Workflow GIT: “Atualização Moodle”
Conclusão• “Deployment” fácil / ágil / seguro• Facilidade para manter múltiplas instâncias Moodle• Histórico das revisões ...
Referências GIT• [Progit] http://progit.org/book/• [Gitref] http://gitref.org                 Contato ATP   suporte@atp.us...
Apres git geinfo2012
Próximos SlideShares
Carregando em…5
×

Apres git geinfo2012

406 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
406
No SlideShare
0
A partir de incorporações
0
Número de incorporações
108
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Apres git geinfo2012

  1. 1. Customização, Deployment eManutenção de Código usando Git Aplicação aos Moodles da USP Helbert dos Santos, Ewout ter Haar Grupo Apoio Técnico-Pedagógico – USP CEPA - IFUSP http://atp.usp.br 08/10/2012
  2. 2. Grupo ATP: Apoio técnico-pedagógico a Ambientes de Aprendizagem → Uma proliferação de Moodles
  3. 3. Contexto• Múltiplas instâncias Moodle (Projetos) • RedeFor, Licenciatura em Ciências, EVC, Moodle do Stoa, Moodle de Extensão, etc. etc. • 270 mil logins/mês • mais de 35 mil alunos• Customização por projeto • temas, plugins, relatórios• Ambientes requerem alta disponibilidade
  4. 4. Problema Como manter customizações + múltiplas instâncias?– Acompanhar as atualizações “upstream” (melhorias e segurança)– Desenvolvimento documentado, versionado e rastreável– Desenvolvimento distribuído (incorporar contribuições “externas”)
  5. 5. Nossa solução• Software de controle de revisões de código distribuído (DVCS, distributed version control system) Ex. Git, mercurial – Atende aos requisitos – “Deployment” fácil / – ágil / seguro
  6. 6. Conceitos sobre “Controle de Versões” 1. Versionamento local • Registra alterações de arquivos[ProGIT]
  7. 7. Conceitos sobre “Controle de Versões” 2. Versionamento remoto e central (cvs, subversion) • Equipe de desenvolvedores • É preciso introduzir o conceito de “merge” (mesclar texto)[ProGIT]
  8. 8. Conceitos sobre “Controle de Versões”3. Versionamento distribuído (git, mercurial) fluxo de trabalho flexível Mais fácil incorporar contribuições “externas” [ProGIT]
  9. 9. repositório central: Ex. github, git.atp.usp.br(um dos) repo(s) de repo de produçãodesenvolvimento (deploy)$git pull$git merge...hack, hack $git pull$git commit$git push
  10. 10. Workflow GIT: “Deploy do Projeto X”
  11. 11. Workflow GIT: “Deploy do Projeto X”
  12. 12. Workflow GIT: “Deploy do Projeto X”
  13. 13. Workflow GIT: “Deploy do Projeto X”
  14. 14. Workflow GIT: “Replicar código genérico”Temos N instâncias de um determinado software, cadauma com algumas customizações. Como atualizar as Ninstâncias com código comum a todas?
  15. 15. Workflow GIT: “Replicar código Moodle genérico”
  16. 16. Workflow GIT: “Replicar código genérico”
  17. 17. Workflow GIT: “Replicar código Moodle genérico”
  18. 18. Workflow GIT: “Replicar código genérico”
  19. 19. Workflow GIT: “Replicar código genérico”
  20. 20. Workflow GIT: “Atualização Moodle upstream” Incorporar atualizações (de segurança e melhorias) sem perder as suas customizações
  21. 21. Workflow GIT: “Atualização Moodle”
  22. 22. Workflow GIT: “Atualização Moodle”
  23. 23. Workflow GIT: “Atualização Moodle”
  24. 24. Workflow GIT: “Atualização Moodle”
  25. 25. Workflow GIT: “Atualização Moodle”
  26. 26. Workflow GIT: “Atualização Moodle”
  27. 27. Workflow GIT: “Atualização Moodle”
  28. 28. Workflow GIT: “Atualização Moodle”
  29. 29. Conclusão• “Deployment” fácil / ágil / seguro• Facilidade para manter múltiplas instâncias Moodle• Histórico das revisões de código (documentação)• Colaboração de desenvolvedores externos
  30. 30. Referências GIT• [Progit] http://progit.org/book/• [Gitref] http://gitref.org Contato ATP suporte@atp.usp.br / http://atp.usp.br

×