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

433 visualizações

Publicada em

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

×