Deployment usando GIT




André Yamin, Helbert dos Santos, Ivan Ramos Pagnossin, Marcelo Alves, Ewout ter Haar

                Grupo Apoio Técnico-Pedagógico – USP
                            CEPA - IFUSP
                           http://atp.usp.br

                                    19/10/2011
Ambientes de Aprendizagem
        (Moodle)
Contexto

• Múltiplas instâncias Moodle (Projetos)
     • REDEFOR, LIC-CIENCIAS, EVS, STOA

     • 270 mil logins/mês

     • mais de 35 mil alunos

• Customização por projeto
     • temas, plugins, relatórios

• Ambientes requerem alta disponibilidade
Problema


• Manutenção de múltiplas instâncias Moodle (alta complexidade)

  – Manutenção do código Moodle (segurança, funcionalidades) moodle.org

  – Customizações por projeto

  – Desenvolvimento documentado, versionado e rastreável

  – Desenvolvimento distribuído

  – Incorporar contribuições externas
Proposta

• GIT - Software de controle de revisões de código
  distribuído (DVCS, distributed version control system)


  – Atende aos requisitos
  – “Deployment” fácil / ágil / seguro
Conceitos sobre “Controle de Versões”




                    • Registra alterações de arquivos




[ProGIT]
Conceitos sobre “Controle de Versões”



                        • Equipe de desenvolvedores


                        • Acompanhar
                          desenvolvimento da equipe




[ProGIT]
Conceitos sobre “Controle de Versões”


                • Customização

                  Workflow (fluxo de trabalho)

                • Incorporar contribuições externas




                   [ProGIT]
Workflow GIT: “Deploy no Projeto X”
Workflow GIT: “Deploy no Projeto X”
Workflow GIT: “Deploy no Projeto X”
Workflow GIT: “Deploy no Projeto X”
Workflow GIT: “Replicar código Moodle genérico”
Workflow GIT: “Replicar código Moodle genérico”
Workflow GIT: “Replicar código Moodle genérico”
Workflow GIT: “Replicar código Moodle genérico”
Workflow GIT: “Replicar código Moodle genérico”
Workflow GIT: “Replicar código Moodle genérico”
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”
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 de código (documentação)

• Colaboração de desenvolvedores externos
Referências GIT

• [Progit] http://progit.org/book/

• [Gitref] http://gitref.org




                   Contato ATP

    suporte@atp.usp.br          / http://atp.usp.br
Deploy do Moodle usando Git

Deploy do Moodle usando Git