SlideShare uma empresa Scribd logo
Customização, Deployment e
Manutençã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
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 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
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”)
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
Conceitos sobre “Controle de Versões”

   1. Versionamento local



                            • Registra alterações de arquivos




[ProGIT]
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]
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]
repositório central: Ex. github,
      git.atp.usp.br




(um dos) repo(s) de                      repo de produção
desenvolvimento                          (deploy)

$git pull
$git merge
...hack, hack                            $git pull
$git commit
$git push
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, cada
uma com algumas customizações. Como atualizar as N
instâncias com código comum a todas?
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 customizações
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
Apres git geinfo2012

Mais conteúdo relacionado

PPTX
Começando com GIT
PDF
Git & Delphi
PPTX
Git - Conceitos
PPTX
PDC - Engenharia - Git e Gitorious
PPTX
O Fantástico Mundo de Git
PPTX
Git e github
PDF
Introducao ao Git
PPTX
Sistemas de Controle de Versão
Começando com GIT
Git & Delphi
Git - Conceitos
PDC - Engenharia - Git e Gitorious
O Fantástico Mundo de Git
Git e github
Introducao ao Git
Sistemas de Controle de Versão

Mais procurados (20)

PDF
Apresentação Docker
PPTX
TDC2019Floripa - Não existe container de prata
PPTX
Controlo de Versões Distribuído com Git - C. Augusto Proiete
PPTX
Controle de Versões com Git + Github
PPTX
Sistemas de controle de versão
PPTX
Sistemas de controle de versão
PDF
Versionamento com git
PDF
PDF
InfoPI 2013 - Minicurso - Introdução ao CUDA - Segunda Parte
PDF
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
PDF
Apresentação controle de versão
PDF
São paulo docker meetup #2
PDF
Apresentacao docker
PDF
GIT Básico
PDF
Controle de Versão Distribuído com Git básico
PPT
Instalação do sistemas operacionais dualboot
PPTX
Introdução ao docker
PPTX
Git - Sistema Descentralizado de Controle de Versões
PDF
Intervalo técnico Git/SVN
Apresentação Docker
TDC2019Floripa - Não existe container de prata
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Controle de Versões com Git + Github
Sistemas de controle de versão
Sistemas de controle de versão
Versionamento com git
InfoPI 2013 - Minicurso - Introdução ao CUDA - Segunda Parte
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
Apresentação controle de versão
São paulo docker meetup #2
Apresentacao docker
GIT Básico
Controle de Versão Distribuído com Git básico
Instalação do sistemas operacionais dualboot
Introdução ao docker
Git - Sistema Descentralizado de Controle de Versões
Intervalo técnico Git/SVN
Anúncio

Semelhante a Apres git geinfo2012 (20)

PDF
Deploy do Moodle usando Git
PDF
Controle de versão e colaboração com Git
PDF
Minicurso GIT PET Computação
KEY
Git para quem vem do SVN
PDF
GIT - Gerenciamento de Projeto e Versionamento Semântico
PPTX
Primeiros passos - GIT
PDF
PPTX
Conhecendo o git.
PDF
Introdução ao Git - fs2w - GrupySP
PDF
Workshop sistema de versionamento de código - git
PDF
Introdução ao GitHub e Git
PDF
Gerência de configuração ágil
PPTX
Controlo de Versões Distribuído com Git
PPTX
Ferramentas para versionamento Utilizando git
PDF
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
PPTX
MiniCurso de Git e Github - UNIFG PIE
PDF
Aula de git luiza code - Slides git e github
PDF
Versionamento de código em UiPath: Um guia prático.pdf
PPTX
Introdução ao Git
Deploy do Moodle usando Git
Controle de versão e colaboração com Git
Minicurso GIT PET Computação
Git para quem vem do SVN
GIT - Gerenciamento de Projeto e Versionamento Semântico
Primeiros passos - GIT
Conhecendo o git.
Introdução ao Git - fs2w - GrupySP
Workshop sistema de versionamento de código - git
Introdução ao GitHub e Git
Gerência de configuração ágil
Controlo de Versões Distribuído com Git
Ferramentas para versionamento Utilizando git
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
MiniCurso de Git e Github - UNIFG PIE
Aula de git luiza code - Slides git e github
Versionamento de código em UiPath: Um guia prático.pdf
Introdução ao Git
Anúncio

Mais de Ewout ter Haar (17)

PDF
Reformulação da grade curricular da Licenciatura do IFUSP
PDF
Sistemas de TI na USP e no IFUSP
PDF
Apresentação Novo Stoa
ODP
Objetos de Aprendizagem e Recursos Digitais no Ensino de Física
ODP
Ambientes Virtuais de Aprendizagem
ODP
Stoa, a rede social da USP
ODP
Tecnologias da Web Social Aplicadas a Ambientes Educacionais
PDF
Ambientes Educacionais Distribuídos: A Web moderna na Educação
PDF
Mídia Social I
PDF
Mídia Social II
PDF
Ferramentas Colaborativas
PDF
Tecnologia Educacional: estudos de eficácia
PDF
Meios de Comunicação
PDF
Stoa: um ambiente de aprendizagem
PDF
Stoa: resultados 2007-2009
PDF
Infrastructure for Open Educational Resources at USP
PDF
Stoa: A Web Social na USP
Reformulação da grade curricular da Licenciatura do IFUSP
Sistemas de TI na USP e no IFUSP
Apresentação Novo Stoa
Objetos de Aprendizagem e Recursos Digitais no Ensino de Física
Ambientes Virtuais de Aprendizagem
Stoa, a rede social da USP
Tecnologias da Web Social Aplicadas a Ambientes Educacionais
Ambientes Educacionais Distribuídos: A Web moderna na Educação
Mídia Social I
Mídia Social II
Ferramentas Colaborativas
Tecnologia Educacional: estudos de eficácia
Meios de Comunicação
Stoa: um ambiente de aprendizagem
Stoa: resultados 2007-2009
Infrastructure for Open Educational Resources at USP
Stoa: A Web Social na USP

Apres git geinfo2012