• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
 

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

on

  • 3,857 views

Palestra realizada no II Congresso Acadêmico do CESMAC - Maceió/AL

Palestra realizada no II Congresso Acadêmico do CESMAC - Maceió/AL

Statistics

Views

Total Views
3,857
Views on SlideShare
3,826
Embed Views
31

Actions

Likes
3
Downloads
64
Comments
0

3 Embeds 31

http://www.slideshare.net 23
http://www.felipewally.com.br 6
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • 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