quarta-feira, 11 de março de 2009

Java(web) + Eclipse + SVN

Configurando um projeto Java(web) + Eclipse + SVN:

Este é um case do desenvolvimento de um projeto Web com Java no Eclipse + Subversion.
A partir de um projeto "Dynamic Web Project" já criado no Eclipse, o Subversion foi definido
como o software controlador de versões para o projeto.

Estrutura do diretório do projeto
Para isso, foi criada uma cópia do projeto em outro diretório para que fosse possível criar a
estrutura para armazenamento no Subversion.
Ex.:


[root@skynet]# mkdir /develop/work
[root@skynet]# cp -r /develop/myproject /develop/work/.


Os diretórios do projeto adicionados no controle de versão foram:


.classpath
.project
.settings/
WebContent/*
build/classes
src/*


Apesar de o diretório build ser adicionado, o conteúdo do mesmo não foi adicionado, pois o SVN (Subversion)
não será utilizado para controlar binários.
Obs.: As libs foram adicionadas para poupar trabalho para quem for baixar uma cópia de trabalho do projeto, ou seja,
o mesmo não precisará baixar as bibliotecas. Apenas referenciá-las no projeto.


Configuração do SVN
Abaixo seguem os passos seguidos para a configuração do svn:

1 - criado o repositório em um diretório ( no meu caso /develop/svnroot ) e iniciado o serviço svnserve
para o repositório a ser criado. Abaixo seguem os comandos:


[root@skynet]# cd /develop
[root@skynet]# mkdir svnroot
[root@skynet]# svnserve -d -r /develop/svnroot
[root@skynet]# svnadmin create /develop/svnroot


2 - após criar o repositório, vamos adicionar o projeto no SVN através do comando svn import:


[root@skynet]# cd /develop/work
[root@skynet]# svn import myproject file:///develop/svnroot/myproject -m "Projeto adicionado"


3 - Uma vez configurado o repositório e adicionado o projeto no SVN, foi configurado o modo de autenticação no svnserve.


[root@skynet]# cd /develop/svnroot
[root@skynet]# vim conf/svnserve.conf


Abaixo um exemplo de configuração do arquivo

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
#anon-access = read
auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the conf directory.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control. Unless you specify a path
### starting with a /, the file's location is relative to the conf
### directory. If you don't specify an authz-db, no path-based access
### control is done.
### Uncomment the line below to use the default authorization file.
#authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa. The default realm
### is repository's uuid.
realm = myproject


Diretivas que foram descomentadas:


auth-access = write
password-db = passwd
realm = myproject


Logo em seguida foi alterado o arquivo passwd


[root@skynet]# vim conf/passwd

[users]
juca = senha1
epaminondas = 2213


Pronto! o SVN está configurado e o projeto pronto para ser compartilhado.

Baixando o projeto através do Eclipse
A versão do eclipse utilizada foi Eclipse 3.3.
Para integração com o SVN, foi necessário baixar o plugin Subclipse. Abaixo seguem os passos para a
instalação do Subclipse no Eclipse.


1 - Selecionado o menu : Help/ Software Updates/ Find and Install
2 - Selecionada a opção: Search for new features to install
3 - Next
4 - New Remote Site
5 - Adicionada a URL no campo URL http://subclipse.tigris.org/update_1.4.x
6 - Finish


Caso for utilizado proxy em sua rede, habilite a utilização do proxy em Window/ Preferences/ General/ Network Connection.
O caminho para configuração do proxy mostrado acima foi utilizado no eclipse 3.3 (Europa).

Após configurar o Subclipse reinicie o eclipse e altere a perspectiva para SVN Repository Explorer.
Então adicione um Repositorio através da opção New/ Repository Location. (clicar com o direito na aba SVN Repositories).
Lá basta selecionar o projeto e clicar em checkout.

Abaixo segue uma lista de comandos básicos que sempre esqueço:

# criando um repositorio
---------------------------
svnadmin create /develop/svnroot

# subindo o servico do subversion
----------------------------------
svnserve -d -r /develop/svnroot

# checkout do projeto
--------------------------------
svn checkout svn://localhost/project

# importando o projeto para o svn
------------------------------------
svn import aplicacao_java file:///usr/local/repositories/aplicacao_java -m "initial projetc"

Nenhum comentário:

Postar um comentário