SlideShare uma empresa Scribd logo
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN




         Controle de Versão e Monitoramento de Projetos
                com SVN + WebSVN + StatSVN

                                    Felipe Buarque de Queiroz
                                     felipe.buarque@gmail.com

                  Fundação de Amparo a Pesquisa do Estado de Alagoas - FAPEAL
                       Unidade Gestora de Tecnologia da Informação - UGTI


                                          Novembro de 2009




                                                                                1 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução



     Roteiro I

      1   Introdução
             Pra que serve controle de versão?
             Como funciona?
             Controle de versão centralizado x distribuído

      2   Subversion

      3   Estudo de caso - UGTI/FAPEAL
            Cenário
            SVN + WebSVN
            “Integração” com o StatSVN

      4   Conclusões

                                                                            2 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução



     Introdução


             Alguém já sobrescreveu o código de outra pessoa por acidente
             e acabou perdendo as alterações?
             Tem dificuldades em saber quais as alterações efetuadas em
             um programa, quando foram feitas e quem fez?
             Tem dificuldade em recuperar o código de uma versão anterior
             que está em produção?
             Tem problemas em manter variações do sistema ao mesmo
             tempo?

             if resposta == ‘Sim’ :
                  Você precisa de um software para controle de versão!


                                                                            3 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução



     Introdução


             Alguém já sobrescreveu o código de outra pessoa por acidente
             e acabou perdendo as alterações?
             Tem dificuldades em saber quais as alterações efetuadas em
             um programa, quando foram feitas e quem fez?
             Tem dificuldade em recuperar o código de uma versão anterior
             que está em produção?
             Tem problemas em manter variações do sistema ao mesmo
             tempo?

             if resposta == ‘Sim’ :
                  Você precisa de um software para controle de versão!


                                                                            3 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução



     Introdução


             Alguém já sobrescreveu o código de outra pessoa por acidente
             e acabou perdendo as alterações?
             Tem dificuldades em saber quais as alterações efetuadas em
             um programa, quando foram feitas e quem fez?
             Tem dificuldade em recuperar o código de uma versão anterior
             que está em produção?
             Tem problemas em manter variações do sistema ao mesmo
             tempo?

             if resposta == ‘Sim’ :
                  Você precisa de um software para controle de versão!


                                                                            3 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução
    Pra que serve controle de versão?


     Pra que serve controle de versão?



      Apoia o desenvolvimento de diversas maneiras:
             Histórico - registra toda a evolução do projeto
             Colaboração - permite o trabalho em paralelo por parte dos
             desenvolvedores
             Variações no projeto - diferentes linhas de evolução do
             projeto




                                                                            4 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução
    Como funciona?


     Como funciona?




                                                                            5 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução
    Como funciona?


     Como funciona?




             Composto de duas partes: repositório e área/cópia de
             trabalho
             Sicronização realizada através dos comandos de commit e
             update
             Cada commit gera uma nova revisão no repositório




                                                                            6 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução
    Controle de versão centralizado x distribuído


     Controle de versão centralizado




                                                                            7 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução
    Controle de versão centralizado x distribuído


     Controle de versão centralizado




             Topologia em estrela
             Comunicação entre uma área/cópia de trabalho e outra passa
             obrigatoriamente pelo repositório central
             Controle de revisões feito com um número inteiro sequencial
             Exemplo de softwares: CVS, Subversion (SVN)




                                                                            8 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução
    Controle de versão centralizado x distribuído


     Controle de versão distribuído




                                                                            9 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução
    Controle de versão centralizado x distribuído


     Controle de versão distribuído



             Cada desenvolvedor tem seu próprio repositório
             A comunicação entre repositórios é feita através das
             operações pull e push
             Topologia não definida
             Controle de revisões feito com geração de números utilizando
             hash SHA-1
             Exemplo de softwares: Mercurial, Git




                                                                            10 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Introdução
    Controle de versão centralizado x distribuído


     Controle de versão distribuído




                                                                            11 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Subversion



     Roteiro I

      1   Introdução
             Pra que serve controle de versão?
             Como funciona?
             Controle de versão centralizado x distribuído

      2   Subversion

      3   Estudo de caso - UGTI/FAPEAL
            Cenário
            SVN + WebSVN
            “Integração” com o StatSVN

      4   Conclusões

                                                                            12 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Subversion



     Subversion - SVN

             Lançado em fevereiro de 2004
             Sistema de controle de versão Open Source
             Substituto do CVS
             Construído sobre a APR (Apache Portable Runtime)
             Controle de versão centralizado
             Múltiplos repositórios
             Armazena as informações na forma de árvore de diretórios
             Número ilimitado de clientes
             Exemplo de softwares clientes: TortoiseSVN, Subeclipse,
             RapidSVN, eSVN, JSVN

             Usa um SO derivado do Debian?
             apt-get install svn
                                                                            13 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Subversion



     Subversion - SVN

             Lançado em fevereiro de 2004
             Sistema de controle de versão Open Source
             Substituto do CVS
             Construído sobre a APR (Apache Portable Runtime)
             Controle de versão centralizado
             Múltiplos repositórios
             Armazena as informações na forma de árvore de diretórios
             Número ilimitado de clientes
             Exemplo de softwares clientes: TortoiseSVN, Subeclipse,
             RapidSVN, eSVN, JSVN

             Usa um SO derivado do Debian?
             apt-get install svn
                                                                            13 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Subversion



     Subversion - SVN

             Lançado em fevereiro de 2004
             Sistema de controle de versão Open Source
             Substituto do CVS
             Construído sobre a APR (Apache Portable Runtime)
             Controle de versão centralizado
             Múltiplos repositórios
             Armazena as informações na forma de árvore de diretórios
             Número ilimitado de clientes
             Exemplo de softwares clientes: TortoiseSVN, Subeclipse,
             RapidSVN, eSVN, JSVN

             Usa um SO derivado do Debian?
             apt-get install svn
                                                                            13 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL



     Roteiro I

      1   Introdução
             Pra que serve controle de versão?
             Como funciona?
             Controle de versão centralizado x distribuído

      2   Subversion

      3   Estudo de caso - UGTI/FAPEAL
            Cenário
            SVN + WebSVN
            “Integração” com o StatSVN

      4   Conclusões

                                                                            14 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    Cenário


     Cenário



             Equipe de desenvolvimento reduzida - 5 pessoas
             Equipe de desenvolvimento trabalhando no mesmo local físico,
             mas em horários distintos
             2 ou mais projetos ocorrendo simultaneamente
             Adoção de metodologias ágeis no desenvolvimento (Scrum,
             XP)
             Diferentes tecnologias envolvidas




                                                                            15 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    SVN + WebSVN


     SVN + WebSVN



             Visualização do histórico de projetos na web
             Acompanhamento dos commit’s efetuados pelos
             desenvolvedores
             Autenticação para os desenvolvedores e gerentes de projeto

             Usa um SO derivado do Debian?
             apt-get install websvn




                                                                            16 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    SVN + WebSVN


     SVN + WebSVN



             Visualização do histórico de projetos na web
             Acompanhamento dos commit’s efetuados pelos
             desenvolvedores
             Autenticação para os desenvolvedores e gerentes de projeto

             Usa um SO derivado do Debian?
             apt-get install websvn




                                                                            16 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    SVN + WebSVN


     SVN + WebSVN



             Visualização do histórico de projetos na web
             Acompanhamento dos commit’s efetuados pelos
             desenvolvedores
             Autenticação para os desenvolvedores e gerentes de projeto

             Usa um SO derivado do Debian?
             apt-get install websvn




                                                                            16 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    SVN + WebSVN


     SVN + WebSVN




                                                                            17 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    SVN + WebSVN


     SVN + WebSVN




                                                                            18 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     StatSVN


             Exibe estatísticas detalhadas sobre os repositórios no SVN
                    Linhas de código por desenvolvedor
                    Atividades dos desenvolvedores por período de tempo
                    Árvore do repositório
                    Tamanho médio dos arquivos
                    Principais tags utilizadas nos repositórios
                    Integração com o Twitter (:D)
                    ...

             Usa um SO derivado do Debian?
             apt-get install statsvn



                                                                            19 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     StatSVN


             Exibe estatísticas detalhadas sobre os repositórios no SVN
                    Linhas de código por desenvolvedor
                    Atividades dos desenvolvedores por período de tempo
                    Árvore do repositório
                    Tamanho médio dos arquivos
                    Principais tags utilizadas nos repositórios
                    Integração com o Twitter (:D)
                    ...

             Usa um SO derivado do Debian?
             apt-get install statsvn



                                                                            19 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     StatSVN


             Exibe estatísticas detalhadas sobre os repositórios no SVN
                    Linhas de código por desenvolvedor
                    Atividades dos desenvolvedores por período de tempo
                    Árvore do repositório
                    Tamanho médio dos arquivos
                    Principais tags utilizadas nos repositórios
                    Integração com o Twitter (:D)
                    ...

             Usa um SO derivado do Debian?
             apt-get install statsvn



                                                                            19 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     StatSVN




                                                                            20 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     StatSVN




                                                                            21 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     SVN + WebSVN + StatSVN

      Criação de um script para integração:
             Varrer o diretório dos repositórios existentes
             Realizar checkout do projeto (o StatSVN necessita do código
             fonte)
             Gerar o arquivo de log do projeto (o StatSVN gera os gráficos
             a partir deste arquivo)
             Caso não exista, criar o diretório do StatSVN no WebSVN
             Rodar o script do StatSVN
             Dar as devidas permissões no diretório
             Automatizar o script (cron)
             Colocar um link no template do WebSVN apontando para o
             diretório do StatSVN no projeto

                                                                            22 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     SVN + WebSVN + StatSVN

      Criação de um script para integração:
             Varrer o diretório dos repositórios existentes
             Realizar checkout do projeto (o StatSVN necessita do código
             fonte)
             Gerar o arquivo de log do projeto (o StatSVN gera os gráficos
             a partir deste arquivo)
             Caso não exista, criar o diretório do StatSVN no WebSVN
             Rodar o script do StatSVN
             Dar as devidas permissões no diretório
             Automatizar o script (cron)
             Colocar um link no template do WebSVN apontando para o
             diretório do StatSVN no projeto

                                                                            22 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     SVN + WebSVN + StatSVN

      Criação de um script para integração:
             Varrer o diretório dos repositórios existentes
             Realizar checkout do projeto (o StatSVN necessita do código
             fonte)
             Gerar o arquivo de log do projeto (o StatSVN gera os gráficos
             a partir deste arquivo)
             Caso não exista, criar o diretório do StatSVN no WebSVN
             Rodar o script do StatSVN
             Dar as devidas permissões no diretório
             Automatizar o script (cron)
             Colocar um link no template do WebSVN apontando para o
             diretório do StatSVN no projeto

                                                                            22 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     SVN + WebSVN + StatSVN

      Criação de um script para integração:
             Varrer o diretório dos repositórios existentes
             Realizar checkout do projeto (o StatSVN necessita do código
             fonte)
             Gerar o arquivo de log do projeto (o StatSVN gera os gráficos
             a partir deste arquivo)
             Caso não exista, criar o diretório do StatSVN no WebSVN
             Rodar o script do StatSVN
             Dar as devidas permissões no diretório
             Automatizar o script (cron)
             Colocar um link no template do WebSVN apontando para o
             diretório do StatSVN no projeto

                                                                            22 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     SVN + WebSVN + StatSVN

      Criação de um script para integração:
             Varrer o diretório dos repositórios existentes
             Realizar checkout do projeto (o StatSVN necessita do código
             fonte)
             Gerar o arquivo de log do projeto (o StatSVN gera os gráficos
             a partir deste arquivo)
             Caso não exista, criar o diretório do StatSVN no WebSVN
             Rodar o script do StatSVN
             Dar as devidas permissões no diretório
             Automatizar o script (cron)
             Colocar um link no template do WebSVN apontando para o
             diretório do StatSVN no projeto

                                                                            22 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     SVN + WebSVN + StatSVN

      Criação de um script para integração:
             Varrer o diretório dos repositórios existentes
             Realizar checkout do projeto (o StatSVN necessita do código
             fonte)
             Gerar o arquivo de log do projeto (o StatSVN gera os gráficos
             a partir deste arquivo)
             Caso não exista, criar o diretório do StatSVN no WebSVN
             Rodar o script do StatSVN
             Dar as devidas permissões no diretório
             Automatizar o script (cron)
             Colocar um link no template do WebSVN apontando para o
             diretório do StatSVN no projeto

                                                                            22 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     SVN + WebSVN + StatSVN

      Criação de um script para integração:
             Varrer o diretório dos repositórios existentes
             Realizar checkout do projeto (o StatSVN necessita do código
             fonte)
             Gerar o arquivo de log do projeto (o StatSVN gera os gráficos
             a partir deste arquivo)
             Caso não exista, criar o diretório do StatSVN no WebSVN
             Rodar o script do StatSVN
             Dar as devidas permissões no diretório
             Automatizar o script (cron)
             Colocar um link no template do WebSVN apontando para o
             diretório do StatSVN no projeto

                                                                            22 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Estudo de caso - UGTI/FAPEAL
    “Integração” com o StatSVN


     SVN + WebSVN + StatSVN

      Criação de um script para integração:
             Varrer o diretório dos repositórios existentes
             Realizar checkout do projeto (o StatSVN necessita do código
             fonte)
             Gerar o arquivo de log do projeto (o StatSVN gera os gráficos
             a partir deste arquivo)
             Caso não exista, criar o diretório do StatSVN no WebSVN
             Rodar o script do StatSVN
             Dar as devidas permissões no diretório
             Automatizar o script (cron)
             Colocar um link no template do WebSVN apontando para o
             diretório do StatSVN no projeto

                                                                            22 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Conclusões



     Roteiro I

      1   Introdução
             Pra que serve controle de versão?
             Como funciona?
             Controle de versão centralizado x distribuído

      2   Subversion

      3   Estudo de caso - UGTI/FAPEAL
            Cenário
            SVN + WebSVN
            “Integração” com o StatSVN

      4   Conclusões

                                                                            23 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Conclusões



     Conclusões



             Controle de versão resolve diversos problemas no
             desenvolvimento de software
             Não se restringe a programadores
             Agilidade no desenvolvimento
             Faz parte das exigências para melhorias do processo de
             desenvolvimento (CMMi, MPS-Br, SPICE)
             Ambiente para monitoramento por parte de gestores e
             gerentes de projeto




                                                                            24 / 25
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
  Referências



     Referências I


      [1] Bertheymans. Setting up subversion and websvn on debian.
          Web, September 2006.
      [2] Collins-Sussman, B., Fitzpatrick, B. W., and
          Pilato, C. M. Version Control with Subversion. O’Reilly
          Media, 2007.
      [3] de Souza, D. Subversion - controle de versão de
          documentos. Web, August 2007.
      [4] Dias, A. F. Conceitos básicos de controle de versão de
          software — centralizado e distribuído. Web, June 2009.
      [5] StatSVN. Statsvn’s wiki, 2009.


                                                                            25 / 25

Mais conteúdo relacionado

PDF
Maven Versioning Strategy (VR)
PPTX
Desconstruindo monolitos - Construindo microservicos em Delphi
PPTX
Sistemas de controle de versão
ODP
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
PDF
Filosofia De Desenvolvimento De Software
PDF
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
PDF
Apresentação controle de versão
PPT
Svn - grupo de estudos sol7
Maven Versioning Strategy (VR)
Desconstruindo monolitos - Construindo microservicos em Delphi
Sistemas de controle de versão
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
Filosofia De Desenvolvimento De Software
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
Apresentação controle de versão
Svn - grupo de estudos sol7

Mais procurados (20)

PPTX
Sistemas de Controle de Versão
PPT
GCS - Aula 07 - Sistemas de Controle de Versões
PPTX
Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft
PDF
Plano do projeto de software SIGEM - Sistema de gestão de materiais
PPTX
Modelo cascata
PPT
Modelos de ciclo de vida de software
PDF
Controle de versões com o Subversion
PPTX
Ciclo de vida de software
PDF
Open4Education | MC122 - Introdução a ALM OpenSource
PDF
Alm open source
PDF
Ciclo de vida de software
PPT
Modelo cascata apresentação
PDF
Modelo em Cascata
PDF
Modelo V
PPTX
Aula 01 engenharia de software
PDF
A Evolucao dos Processos de Desenvolvimento de Software
PDF
Gerência de configuração ágil
PDF
IBM Rational Unified Process
PDF
Introdução à Qualidade e Testes Ágeis de Software
Sistemas de Controle de Versão
GCS - Aula 07 - Sistemas de Controle de Versões
Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Modelo cascata
Modelos de ciclo de vida de software
Controle de versões com o Subversion
Ciclo de vida de software
Open4Education | MC122 - Introdução a ALM OpenSource
Alm open source
Ciclo de vida de software
Modelo cascata apresentação
Modelo em Cascata
Modelo V
Aula 01 engenharia de software
A Evolucao dos Processos de Desenvolvimento de Software
Gerência de configuração ágil
IBM Rational Unified Process
Introdução à Qualidade e Testes Ágeis de Software
Anúncio

Destaque (20)

PPT
GCS - Aula 09 - GCS Ágil
PPTX
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
PDF
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
PDF
Introdução ao Sistema de Controle de Versão
PDF
QConSP: Vivenciando dev ops para além da automação de infraestrutura
PDF
[Mini-curso] Sistema de Controle de Versão
PDF
Workshop sistema de versionamento de código - git
PPT
GCS - Aula 02 - Conceitos Principais
PDF
Controle de versão com GIT
PDF
Controle de Mudanças com GitHub
PPT
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
PDF
Apresentação do SAEO na Administração Pública
PDF
Vivenciando dev ops para além da automação de infraestrutura 2.0
PDF
Android UI Fundamentals part 1
PDF
Controle de versão com Git e BitBucket
PPTX
Mini aula-sublime-text-git-e-github
PDF
Controle de versão utilizando git
PDF
O futuro dos WebApps com AngularJS 2.0
PDF
Gerenciadores de Controle de Versão: Git, Mercurial e Bazaar
PPT
Sistema de Controle de Versão - CVS, SVN e GIT
GCS - Aula 09 - GCS Ágil
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Introdução ao Sistema de Controle de Versão
QConSP: Vivenciando dev ops para além da automação de infraestrutura
[Mini-curso] Sistema de Controle de Versão
Workshop sistema de versionamento de código - git
GCS - Aula 02 - Conceitos Principais
Controle de versão com GIT
Controle de Mudanças com GitHub
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Apresentação do SAEO na Administração Pública
Vivenciando dev ops para além da automação de infraestrutura 2.0
Android UI Fundamentals part 1
Controle de versão com Git e BitBucket
Mini aula-sublime-text-git-e-github
Controle de versão utilizando git
O futuro dos WebApps com AngularJS 2.0
Gerenciadores de Controle de Versão: Git, Mercurial e Bazaar
Sistema de Controle de Versão - CVS, SVN e GIT
Anúncio

Semelhante a Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN (20)

PDF
Como montar um DevOps Toolchain
PPS
Gerência de Configuração
PPTX
Maven 3, Sonar e Hudson
PPTX
Aula 4 gerência de configuração de software1
PPT
Svn Tech Thursday
PDF
Curso de CVS - Parte 1 - Introdução
PDF
Subvertendo o código PHP com SVN
PPTX
Git - Controle de Versão Inteligente
PPTX
Ciclo de vida do desenvolvimento de software de ponta a ponta
PDF
Curso front-end - Aula 002 - Git
PDF
Ferramenta de apoio a gerência de configuração de software
PPTX
Maven em 10 minutos
PPT
Making Sense of Revision-Control Systems
PPTX
Apresentação Git
PPT
Introdução a Application Life-cycle Management Open Source
PPTX
MiniCurso de Git e Github - UNIFG PIE
PDF
Continuous Deployment e DevOps na Nuvem
PDF
Versionamento de Software com Subversion - Wanderson Henrique Camargo Rosa
PDF
Subvertendo o codigo PHP com SVN - ENSOL
PDF
DevOps - melhores práticas e integração contínua
Como montar um DevOps Toolchain
Gerência de Configuração
Maven 3, Sonar e Hudson
Aula 4 gerência de configuração de software1
Svn Tech Thursday
Curso de CVS - Parte 1 - Introdução
Subvertendo o código PHP com SVN
Git - Controle de Versão Inteligente
Ciclo de vida do desenvolvimento de software de ponta a ponta
Curso front-end - Aula 002 - Git
Ferramenta de apoio a gerência de configuração de software
Maven em 10 minutos
Making Sense of Revision-Control Systems
Apresentação Git
Introdução a Application Life-cycle Management Open Source
MiniCurso de Git e Github - UNIFG PIE
Continuous Deployment e DevOps na Nuvem
Versionamento de Software com Subversion - Wanderson Henrique Camargo Rosa
Subvertendo o codigo PHP com SVN - ENSOL
DevOps - melhores práticas e integração contínua

Último (19)

PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Processos na gestão de transportes, TM100 Col18
Aula 18 - Manipulacao De Arquivos python
Aula04-Academia Heri- Tecnologia Geral 2025
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Apple Pippin Uma breve introdução. - David Glotz
Custos e liquidação no SAP Transportation Management, TM130 Col18

Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN

  • 1. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Felipe Buarque de Queiroz felipe.buarque@gmail.com Fundação de Amparo a Pesquisa do Estado de Alagoas - FAPEAL Unidade Gestora de Tecnologia da Informação - UGTI Novembro de 2009 1 / 25
  • 2. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Roteiro I 1 Introdução Pra que serve controle de versão? Como funciona? Controle de versão centralizado x distribuído 2 Subversion 3 Estudo de caso - UGTI/FAPEAL Cenário SVN + WebSVN “Integração” com o StatSVN 4 Conclusões 2 / 25
  • 3. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Introdução Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações? Tem dificuldades em saber quais as alterações efetuadas em um programa, quando foram feitas e quem fez? Tem dificuldade em recuperar o código de uma versão anterior que está em produção? Tem problemas em manter variações do sistema ao mesmo tempo? if resposta == ‘Sim’ : Você precisa de um software para controle de versão! 3 / 25
  • 4. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Introdução Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações? Tem dificuldades em saber quais as alterações efetuadas em um programa, quando foram feitas e quem fez? Tem dificuldade em recuperar o código de uma versão anterior que está em produção? Tem problemas em manter variações do sistema ao mesmo tempo? if resposta == ‘Sim’ : Você precisa de um software para controle de versão! 3 / 25
  • 5. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Introdução Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações? Tem dificuldades em saber quais as alterações efetuadas em um programa, quando foram feitas e quem fez? Tem dificuldade em recuperar o código de uma versão anterior que está em produção? Tem problemas em manter variações do sistema ao mesmo tempo? if resposta == ‘Sim’ : Você precisa de um software para controle de versão! 3 / 25
  • 6. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Pra que serve controle de versão? Pra que serve controle de versão? Apoia o desenvolvimento de diversas maneiras: Histórico - registra toda a evolução do projeto Colaboração - permite o trabalho em paralelo por parte dos desenvolvedores Variações no projeto - diferentes linhas de evolução do projeto 4 / 25
  • 7. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Como funciona? Como funciona? 5 / 25
  • 8. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Como funciona? Como funciona? Composto de duas partes: repositório e área/cópia de trabalho Sicronização realizada através dos comandos de commit e update Cada commit gera uma nova revisão no repositório 6 / 25
  • 9. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Controle de versão centralizado x distribuído Controle de versão centralizado 7 / 25
  • 10. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Controle de versão centralizado x distribuído Controle de versão centralizado Topologia em estrela Comunicação entre uma área/cópia de trabalho e outra passa obrigatoriamente pelo repositório central Controle de revisões feito com um número inteiro sequencial Exemplo de softwares: CVS, Subversion (SVN) 8 / 25
  • 11. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Controle de versão centralizado x distribuído Controle de versão distribuído 9 / 25
  • 12. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Controle de versão centralizado x distribuído Controle de versão distribuído Cada desenvolvedor tem seu próprio repositório A comunicação entre repositórios é feita através das operações pull e push Topologia não definida Controle de revisões feito com geração de números utilizando hash SHA-1 Exemplo de softwares: Mercurial, Git 10 / 25
  • 13. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Introdução Controle de versão centralizado x distribuído Controle de versão distribuído 11 / 25
  • 14. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Subversion Roteiro I 1 Introdução Pra que serve controle de versão? Como funciona? Controle de versão centralizado x distribuído 2 Subversion 3 Estudo de caso - UGTI/FAPEAL Cenário SVN + WebSVN “Integração” com o StatSVN 4 Conclusões 12 / 25
  • 15. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Subversion Subversion - SVN Lançado em fevereiro de 2004 Sistema de controle de versão Open Source Substituto do CVS Construído sobre a APR (Apache Portable Runtime) Controle de versão centralizado Múltiplos repositórios Armazena as informações na forma de árvore de diretórios Número ilimitado de clientes Exemplo de softwares clientes: TortoiseSVN, Subeclipse, RapidSVN, eSVN, JSVN Usa um SO derivado do Debian? apt-get install svn 13 / 25
  • 16. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Subversion Subversion - SVN Lançado em fevereiro de 2004 Sistema de controle de versão Open Source Substituto do CVS Construído sobre a APR (Apache Portable Runtime) Controle de versão centralizado Múltiplos repositórios Armazena as informações na forma de árvore de diretórios Número ilimitado de clientes Exemplo de softwares clientes: TortoiseSVN, Subeclipse, RapidSVN, eSVN, JSVN Usa um SO derivado do Debian? apt-get install svn 13 / 25
  • 17. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Subversion Subversion - SVN Lançado em fevereiro de 2004 Sistema de controle de versão Open Source Substituto do CVS Construído sobre a APR (Apache Portable Runtime) Controle de versão centralizado Múltiplos repositórios Armazena as informações na forma de árvore de diretórios Número ilimitado de clientes Exemplo de softwares clientes: TortoiseSVN, Subeclipse, RapidSVN, eSVN, JSVN Usa um SO derivado do Debian? apt-get install svn 13 / 25
  • 18. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL Roteiro I 1 Introdução Pra que serve controle de versão? Como funciona? Controle de versão centralizado x distribuído 2 Subversion 3 Estudo de caso - UGTI/FAPEAL Cenário SVN + WebSVN “Integração” com o StatSVN 4 Conclusões 14 / 25
  • 19. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL Cenário Cenário Equipe de desenvolvimento reduzida - 5 pessoas Equipe de desenvolvimento trabalhando no mesmo local físico, mas em horários distintos 2 ou mais projetos ocorrendo simultaneamente Adoção de metodologias ágeis no desenvolvimento (Scrum, XP) Diferentes tecnologias envolvidas 15 / 25
  • 20. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL SVN + WebSVN SVN + WebSVN Visualização do histórico de projetos na web Acompanhamento dos commit’s efetuados pelos desenvolvedores Autenticação para os desenvolvedores e gerentes de projeto Usa um SO derivado do Debian? apt-get install websvn 16 / 25
  • 21. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL SVN + WebSVN SVN + WebSVN Visualização do histórico de projetos na web Acompanhamento dos commit’s efetuados pelos desenvolvedores Autenticação para os desenvolvedores e gerentes de projeto Usa um SO derivado do Debian? apt-get install websvn 16 / 25
  • 22. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL SVN + WebSVN SVN + WebSVN Visualização do histórico de projetos na web Acompanhamento dos commit’s efetuados pelos desenvolvedores Autenticação para os desenvolvedores e gerentes de projeto Usa um SO derivado do Debian? apt-get install websvn 16 / 25
  • 23. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL SVN + WebSVN SVN + WebSVN 17 / 25
  • 24. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL SVN + WebSVN SVN + WebSVN 18 / 25
  • 25. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN StatSVN Exibe estatísticas detalhadas sobre os repositórios no SVN Linhas de código por desenvolvedor Atividades dos desenvolvedores por período de tempo Árvore do repositório Tamanho médio dos arquivos Principais tags utilizadas nos repositórios Integração com o Twitter (:D) ... Usa um SO derivado do Debian? apt-get install statsvn 19 / 25
  • 26. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN StatSVN Exibe estatísticas detalhadas sobre os repositórios no SVN Linhas de código por desenvolvedor Atividades dos desenvolvedores por período de tempo Árvore do repositório Tamanho médio dos arquivos Principais tags utilizadas nos repositórios Integração com o Twitter (:D) ... Usa um SO derivado do Debian? apt-get install statsvn 19 / 25
  • 27. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN StatSVN Exibe estatísticas detalhadas sobre os repositórios no SVN Linhas de código por desenvolvedor Atividades dos desenvolvedores por período de tempo Árvore do repositório Tamanho médio dos arquivos Principais tags utilizadas nos repositórios Integração com o Twitter (:D) ... Usa um SO derivado do Debian? apt-get install statsvn 19 / 25
  • 28. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN StatSVN 20 / 25
  • 29. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN StatSVN 21 / 25
  • 30. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN SVN + WebSVN + StatSVN Criação de um script para integração: Varrer o diretório dos repositórios existentes Realizar checkout do projeto (o StatSVN necessita do código fonte) Gerar o arquivo de log do projeto (o StatSVN gera os gráficos a partir deste arquivo) Caso não exista, criar o diretório do StatSVN no WebSVN Rodar o script do StatSVN Dar as devidas permissões no diretório Automatizar o script (cron) Colocar um link no template do WebSVN apontando para o diretório do StatSVN no projeto 22 / 25
  • 31. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN SVN + WebSVN + StatSVN Criação de um script para integração: Varrer o diretório dos repositórios existentes Realizar checkout do projeto (o StatSVN necessita do código fonte) Gerar o arquivo de log do projeto (o StatSVN gera os gráficos a partir deste arquivo) Caso não exista, criar o diretório do StatSVN no WebSVN Rodar o script do StatSVN Dar as devidas permissões no diretório Automatizar o script (cron) Colocar um link no template do WebSVN apontando para o diretório do StatSVN no projeto 22 / 25
  • 32. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN SVN + WebSVN + StatSVN Criação de um script para integração: Varrer o diretório dos repositórios existentes Realizar checkout do projeto (o StatSVN necessita do código fonte) Gerar o arquivo de log do projeto (o StatSVN gera os gráficos a partir deste arquivo) Caso não exista, criar o diretório do StatSVN no WebSVN Rodar o script do StatSVN Dar as devidas permissões no diretório Automatizar o script (cron) Colocar um link no template do WebSVN apontando para o diretório do StatSVN no projeto 22 / 25
  • 33. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN SVN + WebSVN + StatSVN Criação de um script para integração: Varrer o diretório dos repositórios existentes Realizar checkout do projeto (o StatSVN necessita do código fonte) Gerar o arquivo de log do projeto (o StatSVN gera os gráficos a partir deste arquivo) Caso não exista, criar o diretório do StatSVN no WebSVN Rodar o script do StatSVN Dar as devidas permissões no diretório Automatizar o script (cron) Colocar um link no template do WebSVN apontando para o diretório do StatSVN no projeto 22 / 25
  • 34. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN SVN + WebSVN + StatSVN Criação de um script para integração: Varrer o diretório dos repositórios existentes Realizar checkout do projeto (o StatSVN necessita do código fonte) Gerar o arquivo de log do projeto (o StatSVN gera os gráficos a partir deste arquivo) Caso não exista, criar o diretório do StatSVN no WebSVN Rodar o script do StatSVN Dar as devidas permissões no diretório Automatizar o script (cron) Colocar um link no template do WebSVN apontando para o diretório do StatSVN no projeto 22 / 25
  • 35. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN SVN + WebSVN + StatSVN Criação de um script para integração: Varrer o diretório dos repositórios existentes Realizar checkout do projeto (o StatSVN necessita do código fonte) Gerar o arquivo de log do projeto (o StatSVN gera os gráficos a partir deste arquivo) Caso não exista, criar o diretório do StatSVN no WebSVN Rodar o script do StatSVN Dar as devidas permissões no diretório Automatizar o script (cron) Colocar um link no template do WebSVN apontando para o diretório do StatSVN no projeto 22 / 25
  • 36. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN SVN + WebSVN + StatSVN Criação de um script para integração: Varrer o diretório dos repositórios existentes Realizar checkout do projeto (o StatSVN necessita do código fonte) Gerar o arquivo de log do projeto (o StatSVN gera os gráficos a partir deste arquivo) Caso não exista, criar o diretório do StatSVN no WebSVN Rodar o script do StatSVN Dar as devidas permissões no diretório Automatizar o script (cron) Colocar um link no template do WebSVN apontando para o diretório do StatSVN no projeto 22 / 25
  • 37. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Estudo de caso - UGTI/FAPEAL “Integração” com o StatSVN SVN + WebSVN + StatSVN Criação de um script para integração: Varrer o diretório dos repositórios existentes Realizar checkout do projeto (o StatSVN necessita do código fonte) Gerar o arquivo de log do projeto (o StatSVN gera os gráficos a partir deste arquivo) Caso não exista, criar o diretório do StatSVN no WebSVN Rodar o script do StatSVN Dar as devidas permissões no diretório Automatizar o script (cron) Colocar um link no template do WebSVN apontando para o diretório do StatSVN no projeto 22 / 25
  • 38. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Conclusões Roteiro I 1 Introdução Pra que serve controle de versão? Como funciona? Controle de versão centralizado x distribuído 2 Subversion 3 Estudo de caso - UGTI/FAPEAL Cenário SVN + WebSVN “Integração” com o StatSVN 4 Conclusões 23 / 25
  • 39. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Conclusões Conclusões Controle de versão resolve diversos problemas no desenvolvimento de software Não se restringe a programadores Agilidade no desenvolvimento Faz parte das exigências para melhorias do processo de desenvolvimento (CMMi, MPS-Br, SPICE) Ambiente para monitoramento por parte de gestores e gerentes de projeto 24 / 25
  • 40. Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN Referências Referências I [1] Bertheymans. Setting up subversion and websvn on debian. Web, September 2006. [2] Collins-Sussman, B., Fitzpatrick, B. W., and Pilato, C. M. Version Control with Subversion. O’Reilly Media, 2007. [3] de Souza, D. Subversion - controle de versão de documentos. Web, August 2007. [4] Dias, A. F. Conceitos básicos de controle de versão de software — centralizado e distribuído. Web, June 2009. [5] StatSVN. Statsvn’s wiki, 2009. 25 / 25