290 likes | 411 Views
Paulo Oliveira – phslfo Victor Acioli - vaca. Gerencia de Configuração. 11/05/2010. Roteiro. Introdução Gerência de Mudanças Gerência de Versões Integração/Geração de builds. Problemas. Todos artefatos mudam com o tempo! Como essas modificações são gerenciadas?
E N D
Paulo Oliveira – phslfo Victor Acioli - vaca Gerencia de Configuração 11/05/2010
Roteiro • Introdução • Gerência de Mudanças • Gerência de Versões • Integração/Geração de builds
Problemas • Todos artefatos mudam com o tempo! • Como essas modificações são gerenciadas? • Onde estarão registradas as modificações? • Quem aprovará as modificações? • Onde os arquivos estarão armazenados? • Manter o histórico dos itens; • Manipulação de itens de forma concorrente; • Integração das modificações. • Auditoria da gerência de configuração?
Soluções • Gerência de Mudanças • Registro de modificações no sistema; • Por modificações se entende: • Novas funcionalidades; • Correções de erros/bugs. • Gerência de Versões • Controle dos arquivos modificados; • Lançamento de RELEASES e versões;
Gerencia de Mudanças • Nova Solicitação • Solicitação de mudança; • Descrição da modificação; • Release que será modificado; • Prioridade da modificação; • Aprovação de mudanças • Atribuição de tarefas • Realização de mudança • Fechamento de solicitação
Ferramentas Disponíveis Bugzilla Entre outros..
Bugzilla • Gratuito • Continua a ser amplamente utilizado, porém: • Difícil instalação; • Interface Poluída; • Difícil integração com outros sistemas de controle de versão.
Mantis • Existência de vários tipos de usuários: • visualizador: alguém que pode apenas consultar os bugs; • relator: alguém que pode incluir novos bugs; • atualizador: alguém que pode atualizar os dados; • desenvolvedor: alguém que pode resolver bugs; • gerente: alguém que pode criar projetos/produtos, que é onde os bugs ocorrem; • administrador: o admin do Mantis.
Trac • Fácil integração com o CVS e o SVN; • Fácil Administração; • Criação de páginas Wiki.
ClockingIT • Gratuito; • Disponível em português; • Interface de fácil uso; • Compartilhado com vários usuários; • Integrado com vários projetos; • Demonstrar!
Paulo Oliveira – phslfo Victor Acioli - vaca Gerencia de Versões
Tendências • Há uma grande procura muito pelo SVN, porém... • O CVS continua ser amplamente utilizado em empresas de todos os portes.
[1] Arquivos RCS podem ser alterados manualmente quando corrompidos, porém não suportam transações. [2] Atomicidade só é suportada na versão ClearCase UCM [3] Suportado através de copias. [4] O ClearCase tem uma instalação difícil. O SVN tem uma instalação fácil, porém trabalhosa. [5] Para suportar segurança, o CVS precisa ser tunelado dentro de outros protocolos. [6] Servidor e clientes precisam estar na mesma rede para se obter uma performace aceitável. *Principais Fontes: Wikipedia Comparison e Better SCM Comparison
SVN - Introdução • Subversion System • Permite trabalhar com diversas versões • Permite o trabalho colaborativo • O SVN é Open Source • Pode ser usado com o Eclipse • Subclipse
SVN – Trabalho em grupo Repositório Equipe trabalhando
Alguns termos • Repositório: onde o projeto é armazenado • Projeto é também chamado módulo • Checkout: download do projeto a partir do módulo • Update: atualização da cópia local • Commit: envio das alterações feitas
Configurando o SVN 1 – Crie um projeto Java no Eclipse 2 – Team -> Share Project
Configurando o SVN 3 – Preencher os dados do SVN e clicando em Next 4 – Clicar em Next e na próxima tela, Finish
Configurando o SVN 5 – Basta escrever algum comentário (se quiser) e clicar em Finish
Após alterar o código... • Fazer update e depois, commit. • Team -> Update • Team -> Commit
Apaguei uma classe! E agora? Team -> Restore from Repository
Outros comandos • Acessando o histórico de versões • Team -> Show History
Fazendo o chekout • File -> Import
Paulo Oliveira – phslfo Victor Acioli - vaca Integração/Geração de builds
Builds • Representa uma versão ainda incompleta do sistema em desenvolvimento, mas com certa estabilidade • Costuma apresentar limitações conhecidas • Espaço para integração de funcionalidades • Inclue não só código fonte, mas documentação, arquivos de configuração, base de dados, etc. • A política de geração dos builds deve ser bem definida na estruturação do ambiente
Características • Usado para integração Continua • XP • Compilar, Montar, Testar e Executar • Automatizar o processo de geração de builds
Configuração • http://www.laliluna.de/articles/ejb-3-ant-tutorial-jboss.html
Conclusão • Grandes projetos => Gerência de Configuração; • Controle da evolução do sistema; • Qualidade do produto;