Curso de CVS - Parte 0 - Sobre o curso

12

Click here to load reader

Transcript of Curso de CVS - Parte 0 - Sobre o curso

Page 1: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-1

www.mardenneubert.comwww.mardenneubert.com

CVS

© 2005 Marden Neubert

Concurrent Versions System

Marden Neubert

[email protected]

Este é o treinamento sobre CVS criado por Marden Neubert. Seja bem vindo!

Page 2: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-2

www.mardenneubert.comwww.mardenneubert.com

CVS

© 2005 Marden Neubert

Sobre este Treinamento

Módulo 0

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.

Page 3: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-3

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

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

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.

Page 4: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-4

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

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

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.

Page 5: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-5

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

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.)

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 emtexto 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.

Page 6: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-6

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

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

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.

Page 7: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-7

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

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

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.

Page 8: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-8

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

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

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.

Page 9: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-9

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

Laboratórios

• O curso contará com diversasatividades 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

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.

Page 10: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-10

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

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 FreeSoftware 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. ThePragmatic Bookshelf, 2003.

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.

Page 11: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-11

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

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

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.

Page 12: Curso de CVS - Parte 0 - Sobre o curso

Copyright© 2005, Marden Neubert

0-12

www.mardenneubert.comwww.mardenneubert.com© 2005 Marden Neubert

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?

Vamos aproveitar este momento para conhecer melhor, pois isso ajudará a direcionar o treinamento de forma mais produtiva.