terça-feira, 14 de agosto de 2012

Servidor CVS no Ubuntu para clientes Netbeans e Eclipse


Neste material vamos abordar a instalação do CVS no sistema operacional Ubuntu. O CVS é um servidor de versionamento - ou, controle de versões - geralmente aplicado em ambientes de desenvolvimento para controle das versões do código fonte dos projetos.

Instalando o CVS
O primeiro passo é a instalação. Neste estudo vamos executá-la pelo APT. Realize, como root, o comando abaixo:

apt-get install cvs

Após esse comando, a instalação já estará pronta.

Configurando o diretório do CVS
A configuração do CVS necessita de um diretório onde serão armazenados os arquivos do projeto. Você poderá escolher qualquer diretório no sistema de diretórios do Linux - certamente considerando questões como segurança de acesso e localizações inapropriadas. Por exemplo, configurar o diretório do CVS no /boot não seria recomendado. Aqui, optei em criá-lo numa partição separada montada em /mnt/arquivos. Dentro dessa partição, criei um diretório chamado cvs no qual serão armazenados os projetos. Como root, execute os seguintes comandos:

cd /mnt/arquivos
mkdir cvs

Desta forma, os arquivos dos nossos Projetos ficarão armazenados em /mnt/arquivos/cvs

Configurando o arquivo /etc/cvs-pserver.conf
Neste arquivo, o CVS aponta para o diretório onde serão armazenadas as versões. Por default, ele guarda em /srv/cvs, porém, em nosso estudo, conforme visto no item anterior, os arquivos ficarão armazenados em /mnt/arquivos/cvs. Acesse o arquivo, como root, e faça com que ele fique igual ao código abaixo.

CVS_PSERV_REPOS="/mnt/arquivos/cvs"
CVS_PSERV_LIMIT_MEM=hard
CVS_PSERV_LIMIT_DATA=hard
CVS_PSERV_LIMIT_CORE=0
CVS_PSERV_LIMIT_CPU=hard

Observe que a única modificação deverá ser realizada na linha CVS_PSERV_REPOS - que justamente aponta para o diretório.

Configurando um usuário para acessar o serviço
Criaremos um único usuário de acesso ao CVS, com o nome cvsuser. A tática para criação deste usuário é a seguinte: criaremos o usuário, adicionando-o ao grupo root. Daremos permissões para que o grupo possa alterar o conteúdo do diretório /mnt/arquivos/cvs e, inclusive, definiremos uma permissão groupid para esse diretório. Desta forma, o usuário cvsuser, por pertencer ao grupo do root, poderá salvar seus arquivos ali.
Execute como root os comandos abaixo:

cd /home
mkdir cvsuser
useradd -G root -d /home/cvsuser/ cvsuser
chown -R cvsuser:root cvsuser/
cd /mnt/arquivos
chmod -R 775 cvs/
chmod g+s cvs
passwd cvsuser
[ ENTRE COM UMA SENHA PARA O USUÁRIO cvsuser ]
 
Observe que, propositalmente, não foi definido nenhum shell de acesso para o usuário - afinal, ele será apenas para o CVS.

Configurando diretório para o trabalho
A última etapa de configuração do servidor é a inicialização do diretório. Para isso, como root, execute o seguinte comando:

cvs -d /mnt/arquivos/cvs init

Pronto. O CVS está pronto para receber os projetos. Vamos agora configurar o SSH Server. Por quê? Acessaremos o servidor CVS dos clientes a partir do SSH - uma forma segura para transmitir os dados.

Configurando o servidor SSH
Vamos conectar nossos aplicativos de projeto ao servidor CVS através do SSH. Com isso as informações, por característica nativa do SSH, serão transferidas de forma segura. A configuração do servidor SSH no Ubuntu é simples. Como root, execute o comando abaixo:

apt-get install openssh-server

Para testar se a instalação foi bem sucedida, vamos tentar realizar uma conexão do cliente SSH (do servidor) para o próprio servidor SSH. Para isso, execute:

ssh cvsuser@localhost
Are you sure you want to continue connecting (yes/no)? [ DIGITE yes e pressione ENTER ]

Se aparecer um único $ (que não possui acesso ao shell), está correto. Isso ocorre pelo motivo de o usuário cvsuser não possuir shell. Na criação do usuário, por não precisarmos de acessar o sistema com ele, propositalmente, a TAG -s de definição de shell para o comando useradd não foi utilizada. Ainda no shell $, clique CTRL+D para encerrar a sessão.
Desta forma, a configuração do CVS está concluída e validada. Vamos acessá-lo via Cliente SSH das aplicações Netbeans e Eclipse, como mostra a seqüência apresentada abaixo.
 
Configurar uma aplicação do Netbeans no CVS
Após a configuração do servidor CVS, vamos agora abordar um exemplo de configuração de uma aplicação Java 2 EE, criada no Netbeans IDE 6.5 no CVS. A configuração é simples.
Clique com o botão direito no projeto, neste caso, chamado de Teste, e selecione a opção Versionamento, Importar no repositório CVS...


Na próxima janela, clique em Editar...


Com essa opção, uma pequena janela de configuração será aberta. Entre com os dados do servidor:


Em Método de acesso, selecione ext, em Usuário, entre com o usuário do CVS que, em nosso caso, é cvsuser. Em Máquina entre com o IP do servidor CVS e em Caminho do repositório, entre com /mnt/arquivos/cvs. Não é necessário definir a porta, a não ser que você tenha alterado a porta default do servidor. Adapte os dados de acordo com sua situação. Nossa configuração está baseada na instalação do Servidor CVS apresentada.
Em seguida, ao clicar em OK, entre com a senha do usuário CVS no campo Senha da opção Utilizar SSH interno, marque a opção Lembrar senha e clique em Próximo.


Nesta tela, inclua uma mensagem de importação adequada ao projeto e clique em Finalizar.
Caso ache necessário, altere os diretórios de acordo com o projeto.
Pronto. Este projeto Teste criado no Netbeans já está incluído no repositório CVS. Vamos agora apresentar um exemplo com o Eclipse.

Configurar uma aplicação do Eclipse no CVS
A configuração de uma aplicação do Eclipse no CVS também é simples. Aversão do Eclipse que estamos utilizado é o Eclipse JEE Ganymede. Abra a perspectiva do CVS no eclipse, acessando o menu conforme mostrado na figura.

 
Pelo menu indicado, a janela abaixo será mostrada.
 


Na janela apresentada, selecione a opção CVS Repository Exploring e clique em OK. Dentro da aba de repositórios CVS, clique com o botão direito, selecione a opção New e o menu Repository Location...



Em seguida, a janela abaixo será apresentada.


Entre com os dados correspondentes ao servidor CVS. Para acompanhar nosso estudo, em Host entre com o IP do servidor. Em Repository path entre com /mnt/arquivos/cvs. Na sessão Authentication entre com o usuário cvsuser e sua senha. Em Connection, selecione Connection type como extssh. Marque a opção Save password (could trigger secure storage login) e em seguida clique em Finish.
Neste ponto, o repositório já está conectado pelo Eclipse. Vamos agora incluir o projeto.

Abra a perspectiva J2EE no Eclipse (menu Window, Open Perspective, Other... e selecione “Java EE (default)”).
Clique com o botão direito no projeto, selecione a opção Team e em seguida a opção Share project...


Selecione o repositório criado anteriormente e clique em Next.


Deixe a opção Use project name as module name marcada e clique em Next.


Nesta tela, o Eclipse está mostrando que o projeto Teste2 foi incluído no repositório. Clique em Finish.


Como de costume, sempre que forem enviadas informações para o servidor CVS, será necessário definir uma mensagem. Coloque a mensagem apropriada para o seu projeto e clique em Finish.
 
Confirmando a inclusão dos projetos no servidor
Após executados os procedimentos de associação dos projetos do Eclipse/Netbeans no CVS, podemos confirmar a inclusão dos mesmos com o comando abaixo:

ls -l /mnt/arquivos/cvs/
total 1
drwxrwsr-x 3 root    root 1464 2009-02-17 16:12 CVSROOT
drwxrwsr-x 6 cvsuser root  216 2009-02-17 15:36 Teste
drwxrwsr-x 3 cvsuser root  136 2009-02-17 16:12 Teste2

Como você pode observar, os projetos Teste (do Netbeans) e Teste2 (do Eclipse) foram configurados com sucesso.
Desta forma, você poderá trabalhar com sua IDE e controlar o versionamento através do CVS, possibilitando uma melhoria significativa no gerenciamento das versões dos códigos fontes.

Espero ter ajudado. 
"Eu não olho o passado, estou sempre olhando o futuro. É por isso que Deus colocou nossos olhos na frente da cabeça.", Van Halen
Guilherme Pontes

Nenhum comentário:

Postar um comentário