Weitere ähnliche Inhalte
Ähnlich wie Curso de CVS - Parte 0 - Sobre o curso
Ähnlich wie Curso de CVS - Parte 0 - Sobre o curso (20)
Curso de CVS - Parte 0 - Sobre o curso
- 1. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
CVS
Concurrent Versions System
Marden Neubert
marden@mardenneubert.com
0-1
Este é o treinamento sobre CVS criado por Marden Neubert. Seja bem vindo!
- 2. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
CVS
Sobre este Treinamento
Módulo 0
0-2
Neste módulo inicial, vamos apresentar o curso em linhas gerais, seus objetivos, onde queremos
chegar e que conhecimento é esperado dos alunos. Aproveitamos também para nos apresentar e
saber o que vocês esperam deste treinamento.
- 3. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Objetivos
• O objetivo final do curso é capacitar os alunos a
usar efetivamente o CVS em suas empresas
• Ao final, os participantes serão capazes de:
– Argumentar a favor do emprego de controle de versões
• Em projetos de desenvolvimento
• Em rotinas de administração de sistemas
– Dimensionar e implantar o CVS
– Usar as funcionalidades básicas do CVS para armazenar
históricos de arquivos, marcar liberações
– Usar capacidades avançadas para controlar linhas de
código, permitir desenvolvimento paralelo
– Definir e implantar práticas efetivas de gestão de
configuração
0-3
O objetivo deste treinamento é bastante amplo. A idéia não é somente ensinar a instalar e usar o
CVS, mas transmitir boas práticas em gestão de configuração e mostrar como elas podem ser
aplicadas com a ferramenta CVS.
Sabemos que, por mais que o CVS seja há muito tempo o sistema de controle de versões mais
usado, podemos ter que trabalhar, no futuro, com alguma outra ferramenta. Isso pode acontecer
por exemplo, por uma mudança de emprego ou por uma definição de políticas da empresa em que
trabalhamos. Meu primeiro contato com essa disciplina, por exemplo, foi com a ferramenta
ClearCase. Somente depois, com uma mudança de emprego, vim a trabalhar com o CVS. Também
experimentei outras ferramentas e espero que isso venha a contribuir para o curso. O pior instrutor
é aquele “bitolado” na ferramenta que está ensinando...
É claro que o treinamento será muito, muito prático. Mas esperem que, junto a cada laboratório,
possamos discutir o porquê daquilo que estamos fazendo. Fiquem à vontade para contribuir com
experiências pessoais e comentários que possam enriquecer a discussão.
- 4. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Audiência
• Programadores, desenvolvedores de sistemas
• Profissionais de infra-estrutura (back-office)
• Administradores de sistemas
• Testadores, profissionais de garantia da qualidade
• Webmasters
• Gestores de configuração
• Gestores de mudança
• Gestores de projeto
• Gerentes de TI
0-4
Por ser amplo, acreditamos que este curso pode abordar uma audiência também bastante ampla.
Isso não quer dizer que vamos perder o foco falando para todo o tipo de profissional. Pelo
contrário, significa que a disciplina de gestão de configuração abrange os mais diferentes perfis
envolvidos em projetos de software e em relacionados a TI em geral.
Em resumo, qualquer profissional que esteja envolvido em um projeto ou uma atividade que
envolva a disciplina de gestão de configuração e que utilize o CVS em suas atividades é audiência
para este curso.
- 5. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Pré-requisitos
• Experiência mínima em um dos seguintes:
– Projetos de desenvolvimento de software
– Gestão de documentos, manutenção de sites
– Administração de sistemas, criação/controle de scripts
• Facilidade com o uso de linha de comando (shell)
– Usaremos Windows e Linux nos laboratórios
• Alguns pré-requisitos desejáveis, mas não
essenciais, são:
– Conhecimento de uma linguagem de programação
• Por exemplo: Java, C ou Perl
– Experiência com ferramentas GNU (diff, patch, etc.)
0-5
Os pré-requisitos para assistir a este treinamento são bastante flexíveis, pois, como foi dito, CVS é
uma ferramenta que pode ser usada por diversos perfis de profissionais. De qualquer forma,
alguma experiência com desenvolvimento de software é altamente recomendada. Administradores
de sistemas, que trabalham com scripts e outros arquivos de configuração do sistema operacional
também se qualificam para este treinamento.
Caso contrário, profissionais que trabalham com gestão de documentos, workflows, webmasters,
etc. também podem se beneficiar do conhecimento de CVS. Por exemplo, grupos de trabalho
acadêmicos podem colaborar usando o CVS para armazenar artigos e documentos em geral. Um
artigo pode ser escrito por grupos geograficamente dispersos, usando o CVS como sistema de
controle de versões. Isso é verdade sobretudo quando se utiliza alguma linguagem baseada em
texto para a escrita do artigo, como TeX ou HTML.
Como vamos utilizar a linha de comando durante a maior parte do curso, alguma facilidade em
usá-la também é necessária. Os clientes gráficos para o CVS funcionam quase sempre chamando o
executável de linha de comando por trás das cortinas. Portanto, aprendendo a dominar a linha de
comando desvendaremos muitos detalhes complexos dessas ferramentas, que veremos mais ao fim
do curso.
É desejável experiência com alguma linguagem de programação, qualquer uma na verdade. Minha
preferência é por Java, C ou Perl, portanto quando for necessário algum desenvolvimento para
adaptar o CVS às nossas necessidades, usaremos uma dessas linguagens. Também quem já teve
experiência com ferramentas GNU, tais como diff, patch, RCS e outras leva uma vantagem, pois o
CVS tem integrações com esses aplicativos.
- 6. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Visão Geral
• Introdução a Gestão de Configuração e CVS (4h)
– Foco: Geral (todos os perfis)
– Apresentação do CVS, histórico, arquitetura
– Conceitos básicos de gestão de configuração
– Visão geral do uso do CVS
• Administração do CVS (12h)
– Foco: Administrador de sistemas
– Dimensionando o servidor
– Instalando o CVS
– Criando repositórios e módulos
– Gerenciando back-ups
– Controlando o acesso
0-6
O primeiro módulo deve tomar nossa primeira manhã. É uma rápida introdução à área de gestão
de configuração e a definição de alguns conceitos básicos, que serão usados ao longo de todo o
treinamento. Apresentaremos também o CVS, um breve histórico e sua arquitetura de
funcionamento, juntamente com alguns conceitos usados pela ferramenta que facilitarão o
entendimento do restante do treinamento.
Em seguida virá um módulo bastante prático, que tomará o restante do primeiro dia e todo o
segundo dia. Neste módulo, mostraremos técnicas para dimensionar a capacidade necessária para
a implantação do CVS, de acordo com as opções mais comuns de infra-estrutura das empresas.
Em suma, veremos como escolher hardware, sistema operacional e distribuição do CVS para cada
situação. Em seguida, aprenderemos como instalar o CVS em cada uma dessas situações, como
criar repositórios e módulos, gerenciar back-ups e como controlar o acesso de usuários a eles. Este
último, como se pode imaginar, é um tópico que varia de acordo com a escolha de sistema
operacional e distribuição do CVS. Todos os temas serão fortemente embasados por laboratórios.
Os alunos instalarão os servidores que eles mesmos utilizarão no restante do treinamento.
- 7. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Visão Geral
• Uso Básico do CVS (8h)
– Foco: Autor (programador, usuário final)
– Configurando o acesso a um repositório
– Obtendo módulos, realizando modificações
– Lidando com conflitos
– Arquivos de configuração do cliente, variáveis de ambiente
• Uso Avançado do CVS (8h)
– Foco: Gestor de configuração
– Gerenciando etiquetas
– Criando e utilizando ramos (branches)
– Acompanhando atividades no repositório
– Operações avançadas sobre o repositório
– Clientes gráficos e outras ferramentas auxiliares
0-7
No terceiro dia, passaremos ao lado dos usuários do CVS. Inicialmente, veremos o uso básico da
ferramenta, aquela que nos atenderá em 80% do tempo. Veremos como configurar o cliente para
acessar um repositório específico, como obter módulos (o chamado check-out), realizar
modificações e propagá-las para o repositório (o chamado check-in). Veremos também como lidar
com situações em que duas mudanças foram feitas sobre um mesmo arquivo, gerando o que
chamamos de conflito (a solução para resolver um conflito é a mescla, ou em inglês, merge).
Configuraremos o CVS através de arquivos de configuração do cliente e variáveis de ambiente,
nos liberando do uso repetitivo de opções de linha de comando.
No último dia, aprenderemos o uso avançado do CVS, aqueles 20% que nos darão tanto trabalho
quanto os outros 80%. Conheceremos os arquivos que residem naqueles subdiretórios chamados
“CVS” dentro de nossa área de trabalho e saberemos como usá-los a nosso favor. Aprenderemos
também como aplicar etiquetas para marcar liberações, marcando as revisões que formam um
conjunto coerente. Criaremos e utilizaremos ramos (conhecidos em inglês pelo termo branch) e
veremos como eles nos permitem desenvolver em paralelo mais de uma versão do mesmo sistema.
Conheceremos operações que podem ser realizadas sobre o repositório para configurar seu
comportamento. Veremos truques para vigiar a atividade no repositório e, por fim, tiraremos
proveito de alguns clientes gráficos para o CVS, bem como de outras ferramentas auxiliares.
- 8. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Materiais dos Alunos
• Cada aluno receberá:
– Uma apostila com os slides apresentados durante o
treinamento, com as notas do treinador
– Um caderno com os laboratórios que serão realizados
em aula
• Estará disponível para aquisição o Guia de
Consulta Rápida sobre CVS
– Valor: R$ 20,00
0-8
Os alunos receberão todo o material do treinamento, incluindo estas notas do treinador. Usem este
material como referência para seu trabalho, mas por favor não violem o copyright! Não redistribua
este material, nem o modifique sem autorização.
Outra fonte de referência é o Guia de Consulta Rápida sobre CVS, da Novatec, de autoria de
Marden Neubert. Ele pode ser adquirido pelo valor de R$ 20,00.
- 9. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Laboratórios
• O curso contará com diversas
atividades de laboratório
– São a base prática do treinamento
• As atividades fixarão os conceitos transmitidos e
esclarecerão mais detalhes sobre o CVS
– Os laboratórios são parte essencial do curso e são tão
importantes quanto os slides
• Tentaremos nos dedicar o tempo necessário às
práticas, por isso, vamos levá-las a sério!
– Caso surja qualquer dúvida, ou seja encontrado algum
erro no material, resolveremos dentro do possível
0-9
Este é o momento para chamar a atenção para a parte prática do curso. A ênfase do curso é grande
em laboratórios e atividades práticas, portanto, vamos nos dedicar a elas tanto quanto ao restante
do material. Vamos nos concentrar na execução das práticas e procurar aprender o máximo com as
mesmas.
Eventualmente, podemos descobrir erros no material, ou identificar problemas de configuração
que levam a caminhos diferentes. Vamos tentar resolver essas situações à medida que surgirem,
mas por vezes será preciso seguir adiante. Nesses casos, pedimos que todos compreendam;
procuraremos eliminar eventuais questões nos intervalos ou após o término do dia.
- 10. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Referências Gerais sobre CVS
• Sites
– Ximbiot (http://ximbiot.com/cvs/): empresa que presta consultoria
em CVS, hospeda o antigo site http://www.cvshome.org
– GNU (http://www.nongnu.org/cvs/): projeto GNU, da Free
Software Foundation, grande propulsora de software livre
• Livros nacionais
– Caetano, C., CVS. Novatec, 2004.
– Neubert, M., CVS – Guia de Consulta Rápida. Novatec, 2004.
• Livros internacionais
– Vesperman, J., Essential CVS. O’Reilly, 2003.
– Fogel, K. e Bar, M., Open-Source Development with CVS, 2a
edição. Coriolis, 2001.
– Thomas, D. e Hunt, A., Pragmatic Version Control using CVS. The
Pragmatic Bookshelf, 2003.
0-10
Seguem algumas referências sobre o CVS. Na web, o melhor site durante muitos anos foi o
www.cvshome.org, hoje adotado pela empresa Ximbiot, que presta consultoria em CVS. O site da
GNU, projeto ao qual o CVS foi associado, também traz algumas informações e links para
downloads.
Dentre os livros, existem duas publicações nacionais da Novatec, um livro e um guia rápido.
Nos livros internacionais, encontramos um da O’Reilly, sempre uma editora de qualidade e dois
outros livros alternativos, porém também de qualidade.
- 11. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Logística e Grade de Horários
• Manhã
– Início às 09:00
– Intervalo de 15 minutos
• Almoço
– Planejado para as 13:00
– Intervalo de 1 hora
• Tarde
– Intervalo de 15 minutos
– Encerramento às 18:30
0-11
O treinamento tomará 8h por dia. Começaremos às 09:00, faremos uma pausa de 15min por volta
das 11:00. O almoço será às 13:00 e voltaremos às 14:00. À tarde, faremos outra pausa por volta
das 16:00, voltaremos e iremos até as 18:30. Outra opção é fazermos mais duas pausas de 15min
ao longo do dia e terminarmos às 19:00.
- 12. Copyright© 2005, Marden Neubert
© 2005 Marden Neubert www.mardenneubert.com
Conhecendo a Turma
• Seu nome
• Sua empresa
• Sua função
• Sua experiência
– Trabalha com desenvolvimento ou administração de
sistemas?
– Já conhece o CVS?
– Já usou o CVS?
• Quais são suas expectativas para este curso?
• Dúvidas? Questões? Perguntas?
0-12
Vamos aproveitar este momento para conhecer melhor, pois isso ajudará a direcionar o
treinamento de forma mais produtiva.