SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIAlefe Variani
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlabJackson F. de A. Mafra
 
DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013Felipe Freire
 
Boas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalBoas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalRenato Vasconcellos Gomes
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?Thiago Ganzarolli
 
Cultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e develCultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e develJose Augusto Carvalho
 
Integração contínua - Rumo à automação e ao DEVOPS
Integração contínua - Rumo à automação e ao DEVOPSIntegração contínua - Rumo à automação e ao DEVOPS
Integração contínua - Rumo à automação e ao DEVOPSFabiano Souza
 
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Javaelliando dias
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariTaller Negócio Digitais
 
Discutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoDiscutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoThoughtworks
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisMarcos Pessoa
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsLeonardo Comelli
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoAlexandre Andrade
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014Filipe Portes
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMFelipe Freire
 

Was ist angesagt? (20)

DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlab
 
DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013
 
Boas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalBoas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupal
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?
 
Cultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e develCultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e devel
 
Integração contínua - Rumo à automação e ao DEVOPS
Integração contínua - Rumo à automação e ao DEVOPSIntegração contínua - Rumo à automação e ao DEVOPS
Integração contínua - Rumo à automação e ao DEVOPS
 
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
Discutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoDiscutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo Sato
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiais
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimento
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014
 
Apresentação controle de versão
Apresentação controle de versãoApresentação controle de versão
Apresentação controle de versão
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBM
 
Quem e dev ops
Quem e dev opsQuem e dev ops
Quem e dev ops
 

Andere mochten auch

Curso de CVS - Parte 4 - Avançado
Curso de CVS - Parte 4 - AvançadoCurso de CVS - Parte 4 - Avançado
Curso de CVS - Parte 4 - AvançadoMarden Neubert
 
CVS - Slides Parte 2 - Administração
CVS - Slides Parte 2 - AdministraçãoCVS - Slides Parte 2 - Administração
CVS - Slides Parte 2 - AdministraçãoMarden Neubert
 
CVS - Slides Parte 3 - Básico
CVS - Slides Parte 3 - BásicoCVS - Slides Parte 3 - Básico
CVS - Slides Parte 3 - BásicoMarden Neubert
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoMarden Neubert
 
CVS - Slides Parte 0 - Sobre o Curso
CVS - Slides Parte 0 - Sobre o CursoCVS - Slides Parte 0 - Sobre o Curso
CVS - Slides Parte 0 - Sobre o CursoMarden Neubert
 
Shopping UOL: Uma nova perspectiva sobre comparação de preços e seu papel no ...
Shopping UOL: Uma nova perspectiva sobre comparação de preços e seu papel no ...Shopping UOL: Uma nova perspectiva sobre comparação de preços e seu papel no ...
Shopping UOL: Uma nova perspectiva sobre comparação de preços e seu papel no ...Marden Neubert
 

Andere mochten auch (9)

Curso de CVS - Lab 2
Curso de CVS - Lab 2Curso de CVS - Lab 2
Curso de CVS - Lab 2
 
Curso de CVS - Parte 4 - Avançado
Curso de CVS - Parte 4 - AvançadoCurso de CVS - Parte 4 - Avançado
Curso de CVS - Parte 4 - Avançado
 
Curso de CVS - Lab 4
Curso de CVS - Lab 4Curso de CVS - Lab 4
Curso de CVS - Lab 4
 
Curso de CVS - Lab 3
Curso de CVS - Lab 3Curso de CVS - Lab 3
Curso de CVS - Lab 3
 
CVS - Slides Parte 2 - Administração
CVS - Slides Parte 2 - AdministraçãoCVS - Slides Parte 2 - Administração
CVS - Slides Parte 2 - Administração
 
CVS - Slides Parte 3 - Básico
CVS - Slides Parte 3 - BásicoCVS - Slides Parte 3 - Básico
CVS - Slides Parte 3 - Básico
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - Introdução
 
CVS - Slides Parte 0 - Sobre o Curso
CVS - Slides Parte 0 - Sobre o CursoCVS - Slides Parte 0 - Sobre o Curso
CVS - Slides Parte 0 - Sobre o Curso
 
Shopping UOL: Uma nova perspectiva sobre comparação de preços e seu papel no ...
Shopping UOL: Uma nova perspectiva sobre comparação de preços e seu papel no ...Shopping UOL: Uma nova perspectiva sobre comparação de preços e seu papel no ...
Shopping UOL: Uma nova perspectiva sobre comparação de preços e seu papel no ...
 

Ähnlich wie Curso de CVS - Parte 0 - Sobre o curso

Curso de CVS - Parte 2 - Administração
Curso de CVS - Parte 2 - AdministraçãoCurso de CVS - Parte 2 - Administração
Curso de CVS - Parte 2 - AdministraçãoMarden Neubert
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceGlobalcode
 
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IDevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IAlefe Variani
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versãoMarcos Pessoa
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03Anderson Andrade
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeGlobalcode
 
Tópicos Emergentes - DevOps
Tópicos Emergentes - DevOpsTópicos Emergentes - DevOps
Tópicos Emergentes - DevOpsSaulo Lopes
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiFelipe Caputo
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiMayara Fernandes
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...tdc-globalcode
 

Ähnlich wie Curso de CVS - Parte 0 - Sobre o curso (20)

Curso de CVS - Parte 2 - Administração
Curso de CVS - Parte 2 - AdministraçãoCurso de CVS - Parte 2 - Administração
Curso de CVS - Parte 2 - Administração
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Tdd On Rails
Tdd On RailsTdd On Rails
Tdd On Rails
 
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IDevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
 
Introdução ao Java
Introdução ao JavaIntrodução ao Java
Introdução ao Java
 
Startups e DevOps
Startups e DevOpsStartups e DevOps
Startups e DevOps
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
DevOps
DevOpsDevOps
DevOps
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto Globalcode
 
Tópicos Emergentes - DevOps
Tópicos Emergentes - DevOpsTópicos Emergentes - DevOps
Tópicos Emergentes - DevOps
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em Delphi
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
 
Aula05 frameworks
Aula05 frameworksAula05 frameworks
Aula05 frameworks
 

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.