Mentor de Ferramentas: Configuração do Controle de Versão usando o Rational Rose RealTime com o Rational ClearCase
Este mentor de ferramentas explica como configurar o controle de versão utilizando o Rational Rose RealTime com o Rational ClearCase.
Ferramenta: Rational Rose RealTime
Relacionamentos
Descrição Principal

Visão Geral

O Rational ClearCase utiliza um modelo de visualização combinado a um sistema de arquivos virtual que permite especificar a linha de versões do arquivo com as quais deseja trabalho. O Rational Rose RealTime vê os arquivos na visualização atual como se eles estivessem armazenados em um sistema de arquivos normal (não-ClearCase). O Rose RealTime especifica o conjunto de arquivos que compõe o modelo, e o ClearCase fornece as versões desses arquivos determinados pelas especificações de configuração da visualização.

ícone do manual Para obter informações detalhadas sobre a utilização do Rose RealTime com o ClearCase, consulte o documento chamado Guia para Desenvolvimento de Equipe, Rational Rose RealTime.

Antes de utilizar o ClearCase, você precisa configurar sua estação de trabalho e quaisquer outras estações de trabalho no ClearCase que serão utilizadas.

Pré-requisitos: Configurando o ClearCase

Recomendações Gerais

Se você estiver utilizando o Microsoft Windows NT, não acesse as visualizações por meio do ponto de montagem MVFS ou pela unidade M:. Em vez disso, utilize as visualizações por meio de montagens explícitas de unidades, como X:, Y: ou Z:. Isso aprimora o wink-in e elimina as dependências em nomes de visualização.

Integração de UCM

A Integração de UCM permite designar atividades a revisões dentro dos conjuntos de ferramentas, se você estiver trabalhando em um UCM VOB. Além disso, você pode aplicar Rebase, Deliver e ativar o Project Explorer de dentro do Rose RealTime.

Visualizações de Captura Instantânea

Com o ClearCase, você pode iniciar uma atualização de visualização de captura instantânea de dentro do Rose RealTime. A visualização de captura instantânea contém a área de diretórios dos arquivos de origem.

Você desejará utilizar visualizações de captura instantânea se qualquer uma das condições a seguir se aplicar:

  • Seu computador não suporta visualizações dinâmicas.
  • Você quer otimizar o desempenho da construção para alcançar velocidades de construção nativas.
  • Você quer trabalhar com os arquivos de origem no controle do ClearCase quando estiver desconectada da rede que hospeda as VOBs ou conectada à rede de forma intermitente.
  • Você quer acessar uma visualização de um computador que não é um host do ClearCase.
  • Seu projeto não utiliza a prevenção de auditoria de construção e construção do ClearCase.
Configuração da Estação de Trabalho do Rational ClearCase

Todas as estações de trabalho que estarão acessando um VOB ou uma visualização, deve estar configurada para utilizar o ClearCase. Para Windows NT/2000, isso inclui todas as estações de trabalho utilizadas para desenvolvimento. Para UNIX, isso inclui todas as máquinas que são servidores de visualização.

Além disso, todas as máquinas que agem como servidores de visualização para as visualizações do ClearCase utilizadas pelo Rose RealTime devem ser configuradas para o ClearCase. Se você utilizar o ClearCase MultiSite, precisará fazê-lo em todos os sites em que as VOBs contendo elementos do Rose são replicadas. Você pode determinar quais máquinas são servidores de visualização digitando o seguinte em uma janela de comandos:

 cleartool lsview

O segundo item em cada linha de saída indica o nome da máquina em que o servidor de visualização está em execução. Por exemplo, se você vir a seguinte linha na saída do comando lsview:

 myview mymachinevwsmyview.vws

"mymachine" é o nome da máquina em que está localizado o servidor de visualização para myview.

ícone do manual Para obter mais detalhes, consulte o administrador do ClearCase ou consulte as informações nas ferramentas de controle de origem no Guia de Desenvolvimento de Equipe do Rational Rose RealTime.

Configuração Inicial

As seguintes etapas aplicam-se se você estiver trabalhando em um modelo que já está sob o controle de origem em uma VOB. Para obter informações adicionais, consulte as informações na administração do controle de origem no Guia de Desenvolvimento de Equipe do Rational Rose RealTime.

  1. Crie a visualização do integrador para que a especificação de configuração seja exibida desta maneira:
 
element * CHECKEDOUT
element * /main/LATEST
  1. Crie etiquetas de projeto para definir várias linhas. Exemplos de etiquetas significativas são:
  • TC_BASELINE_0 - para representar o estado inicial do projeto
  • TC_BUILDFILES - para indicar quais versões de elemento devem ser incluídas no próximo build automatizado
  • TC_LATEST_STABLE - para identificar a linha estável mais recente na ramificação de integração
  1. Crie a linha inicial e aplique a etiqueta à VOB. Um exemplo da linha inicial é:
 
[x:dev]cleartool mklabel -recurse TC_BASELINE_0 dev
  1. Crie o gabarito de visualização do desenvolvedor para garantir que todas as especificações de configuração sejam derivadas de uma base comum. Isso fornece acesso controlado e consistente para o modelo e facilita o uso de linha e ramificações privadas.

    Há duas principais funções que os desenvolvedores estarão executando: navegação e desenvolvimento. Cada uma requer uma especificação de configuração diferente.

ícone do manual Para obter informações sobre as regras de gabarito, consulte as informações de configuração inicial no Guia de Desenvolvimento de Equipe do Rational Rose RealTime.

Etapas de Ferramentas

Para utilizar o ClearCase do Rose RealTime, siga estas etapas:

  1. Controlar elementos de modelo apropriados como unidades
  2. Criar uma área de trabalho local
  3. Salvar um modelo para a área de trabalho
  4. Configurar as opções do controle de origem do espaço de trabalho
  5. Incluir o modelo no controle de origem
  6. Tornar disponível o espaço de trabalho padrão para todos os membros do projeto
  7. Utilizar gabaritos de visualização
  8. Entidades do ClearCase
  9. Automatizar construções
  10. Processo do desenvolvedor
  11. Processo de integração

1. Controlar elementos de modelo apropriados como unidade

Determine a granularidade que você requer para o ambiente do projeto e da equipe no estágio atual de desenvolvimento. Faça isso em colaboração com o arquiteto do projeto.

2. Criar uma área de trabalho local

Você desejará estabelecer uma área de trabalho local para salvar os modelos no ClearCase. Cada desenvolvedor que acesso os arquivos do Rose RealTime em uma VOB deve utilizar suas próprias visualizações dedicadas.

3. Salvar um modelo para a área de trabalho

antes de posicionar o modelo sob o controle de origem, ele deve ser salvo na área de trabalho local. Salve o modelo no diretório associado ao repositório de controle de origem.

4. Configurar as opções do controle de origem do espaço de trabalho

Para ativar o controle de origem, preencha as definições apropriadas descritas nos princípios fundamentais do controle de origem no Guia para Desenvolvimento de Equipe do Rational Rose RealTime.

5. Incluir o modelo no controle de origem

O modo mais simples de incluir todas as unidades aplicáveis ao controle de origem é utilizar a ferramenta Enviar Todas as Alterações para o Controle de Origem. Consulte as informações de administração do controle de origem no Guia para Desenvolvimento de Equipe do Rational Rose RealTime para obter mais informações.

6. Tornar disponível o espaço de trabalho padrão para todos os membros do projeto

O arquivo de espaço de trabalho (.rtwks) contém informações que são comuns a todos os usuários que trabalham no projeto. As configurações no espaço de trabalho são raramente, ou nunca, alteradas depois da configuração inicial. Todos os desenvolvedores em um projeto devem utilizar cópias idênticas do arquivo de espaço de trabalho. Por essa razão, talvez você queira colocar esses arquivos sob o controle de origem para que a versão corrigida fique disponível a todos os usuários do projeto. O Rational Rose RealTime não fornece suporte explícito para registro de entrada ou saída nesse arquivo.

Depois que o gerente do controle de origem inclui o modelo no controle de origem, o espaço de trabalho deve ser manualmente incluído utilizando a ferramenta do controle do origem. Outros usuários devem recuperar o espaço de trabalho como parte da atualização inicial de sua área de trabalho local. Isso garante que todos os membros da equipe utilizem as mesmas definições do controle de origem para o projeto.

7. Utilizar gabaritos de visualização

Os gabaritos de visualização são utilizados para garantir que os desenvolvedores utilizam uma base comum para suas especificações de configuração de visualização e para facilitar o trabalho em ramificações privadas. Um gabarito de visualização especifica a ramificação de integração na qual trabalhar, lista os pontos de verificação etiquetados que podem ser utilizados como base para um ramificação privada e inclui um gabarito de especificação de configuração que pode ser preenchido com regras de especificação de configuração adicionais.

ícone do manual Consulte as informações de desenvolvimento paralelas do Rational ClearCase no Guia para Desenvolvimento da Equipe do Rational Rose RealTime para obter mais informações.

8. Entidades do ClearCase

Visualizações, gabaritos de visualização e etiquetas podem ser criadas para ajudar a facilitar os recursos do Rational ClearCase. Consulte as informações de desenvolvimento paralelas do ClearCase no Guia para Desenvolvimento da Equipe do Rational Rose RealTime para obter mais informações.

9. Automatizar construções

Para fornecer a habilidade de escolher seletivamente as versões dos arquivos que fazem parte da construção, o construtor seleciona todas as versões que são etiquetadas com TC_BUILDFILES. Isso permite flexibilidade na alteração de versões exatas que fazem parte da construção, se necessário. Por exemplo, se a versão mais recente de um arquivo contiver código não compilado, a versão anterior pode ser etiqueta no lugar daquela.

As seguintes etapas estão envolvidas na construção:

  1. Etiquetar os arquivos de construção
  2. Executar a construção.
  3. Quando a construção for concluída com sucesso:
    • Crie uma nova etiqueta de linha e aplique às versões de arquivos da construção.
    • Aplique TC_LATEST_STABLE às versões do arquivo de construção.
    • Disponibilize a nova linha aos desenvolvedores.

10. Processo do desenvolvedor

Cada atividade de desenvolvimento é concluída por um único desenvolvedor e executada em uma ramificação privada específica para aquela atividade. Novamente, cada desenvolvedor requer sua própria visualização. A visualização é baseada em um ponto de ramificação na ramificação de integração identificada por uma etiqueta de construção.

Deve ser escolhido um nome exclusivo de ramificação que identifique o trabalho sendo executado, como:

 paulz_timing

As regras de especificação de configuração de visualização são configuradas para efetuar automaticamente o registro de saída e os arquivos de ramificação do ponto de ramificação para a ramificação privada. Dessa forma, novos elementos criados durante a atividade de desenvolvimento são imediatamente ramificados para a ramificação privada.

Como a ramificação é oculta para outros desenvolvedores, o usuário pode efetuar o registro de entrada de alterações incrementais na ramificação. Quando o desenvolvedor estiver satisfeito e as alterações estiverem concluídas e prontas para serem integradas, o desenvolvedor informa o integrador que todas as alterações na ramificação privada estão prontas para integração.

Baseando as ramificações privadas do desenvolvedor de etiquetas que correspondem às versões utilizadas pelas construções automatizadas, cada desenvolvedor poderá reutilizar a maioria dos resultados de construção no formato de objetos derivados de winked-in. Isso reduz bastante a quantidade de construção necessária para cada desenvolvedor quando as alterações são feitas.

11. Processo de integração

Cada atividade de desenvolvimento deve ser eventualmente mesclada em ramificações de integração. O ClearCase tem várias ferramentas disponíveis para executar tal mesclagem. O comando cleartool findmerge pode ser utilizado para mesclar todas as alterações de uma ramificação em outra. Na janela do integrador, a seguinte sintaxe de comando pode ser utilizada:

 cleartool findmerge dev -all -fversion .../paulz_timing/LATEST -merge

Como alternativa, os usuários do Windows NT podem utilizar o ClearCase Merge Manager para executar a mesma mesclagem.

Esses métodos mesclarão versões de diretório e também utilizarão o Rose RealTime Model Integrator para mesclar as alterações nos arquivos de modelo. Depois de executar a mesclagem, o integrador deve carregar o modelo no Rose RealTime e verificar se não ocorreu nenhum erro de mesclagem. Se o modelo for carregado corretamente, as alterações deverão ter o registro de entrada utilizando o item de menu em Ferramentas -> Controle de Origem -> Enviar Todas as Alterações para o Controle de Origem.

Para integrar uma série de atividades de desenvolvimento:

  1. Carregue o modelo da visualização do integrador.
  2. Execute as mesclagens detalhadas acima.
  3. Utilize Ferramentas -> Controle de Origem -> Sincronizar Todo o Modelo. Isso recarregará todos os arquivos alterados na mesclagem.
  4. Certifique-se de que as diferenças mescladas sejam válidas.
  5. Utilize Ferramentas -> Controle de Origem -> Enviar Todas as Alterações para o Controle de Origem para aceitar as alterações efetuar o registra de entradas delas no controle de origem.
  6. Repita as etapas de 2 a 5 para cada atividade que precisar de integração.