Archive for the ‘ambiente’ Category

Montando um ambiente de desenvolvimento – Parte 2

março 3, 2009

Uma vez instalado um software de controle de versão, no nosso caso o SVN, e de extrema importancia um software de integração continua. No mercado há alguns servidores de integração continua, o CruiseControl e o Continuum são um exemplo desse tipo de software, e esse último será nosso foco nesse post.

A vantagem imediata que tivemos na utilização de um software de integração onde trabalho foi através dos seus builds automatizados(configuramos 2 vezes ao dia) pegamos no início constantes erros de compilação e falha nos testes. Nunca se deve commitar nada pro SVN que esteja com problema, porque sempre que precisarmos pegar qualquer versao do repositório, ela tem que compilar e ser testada sem falhas. Outra vantagem desse tipo de software num ambiente cooporativo quando há aplicações dependentes, nos testes é capaz de detectar erros deste tipo, tendo um servidor de repositório de jar (Archivaa por exemplo, que falaremos num próximo post)

A instalação é simples de ser feita, eu optei pela versão standalone por ser simples instalação, lembrando sempre que focamos sempre praticidade! Voce pode encontrar o continuum para download em http://continuum.apache.org/download.html, baixe a versão standalone. Após download descompacte o continuum, e para testar, basta executar dentro do diretório bin:

fernando@fenote:/usr/local/java/apache-continuum-1.2.3/bin$ ./continuum start
Starting Apache Continuum...

Agora temos o continuum no ar sobre um servidor Jetty na porta 8080. Acho interessante mudar a porta do Jetty e configurar o email do continuum para notificações de builds, ambos no arquivo $CONTINUUM_HOME/conf/jetty.xml. E claro colocar o continuum para inicializar junto com o seu Sistema Operacional, no caso do Ubuntu, usamos o seguinte comando


fernando@fenote:/usr/local/java/apache-continuum-1.2.3/bin$ sudo ln -s continuum /etc/init.d/
fernando@fenote:/usr/local/java/apache-continuum-1.2.3/bin$ sudo update-rc.d -n continuum defaults 99

Agora basta acessar http://localhost:8080/continuum/, cadastrar seu projeto e programar seus builds!

Boa Sorte!

Referencia: http://continuum.apache.org

Montando um ambiente de desenvolvimento – Parte 1

fevereiro 18, 2009

Montar um ambiente de desenvolvimento é sempre algo bem trabalhoso, e, não é algo que fazemos no nosso dia a dia. Um bom servidor de desenvolvimento é aquele que não lembramos que existe, não nos damos conta de que está ali. Se um dia sentirmos sua falta significa, com certeza, que algum problema apareceu. Nessa sequencia de “posts” pretendo mostrar como montar um servidor de desenvolvimento usando Subversion(SVN), Continuum, Archiva e o Trac da forma mais simples pra você entender e de manutenção o mais fácil possível. O nosso foco é desenvolvimento e não montar servidor.

Essa primeira parte é como montar um Subversion (SVN) e acessá-lo via http com Apache. Mas por que SVN? O SVN é um sistema de controle de versão, assim como o CVS, com a vantagem de ocupar menos espaço em disco e ter a opção de renomear arquivo sem perder o versionamento. Você consegue também versionar diretórios. Outra opção ao SVN é o GIT que está conquistando cada vez mais seu espaço. Mas por que Apache? Ele é um Servidor http leve, de fácil configuração e muito difundido em todo o mundo. Pelo fato da nossa preferencia por servidores linux, essa instalação foi feita sobre um linux Ubuntu 8.10 64bits. Dessa forma a idéia é:

Instalar o apache que será nosso servidor http
fernando@fenote:~$ sudo apt-get install apache2

Instalar o SVN propriamente dito
fernando@fenote:~$ sudo apt-get install subversion

Uma vez o SVN instalado precisamos criar um diretório para que fique o seu repositório
fernando@fenote:~$ sudo mkdir /var/lib/svn

Criar um repositório:
fernando@fenote:~$ sudo svnadmin create /var/lib/svn/

Repare que ele cria um conjunto de diretórios e arquivos de controle internos e um banco de dados(Berkley DB) para armazenamento (diferente do CVS que armazena no sistema de arquivos).
O Apache tem um módulo de integração com o SVN que é necessário para configurar o contexto e a autenticação
fernando@fenote:~$ sudo apt-get install libapache2-svn

Ao instalar o módulo, ele irá criar um arquivo de configuração chamado dav_svn.conf. Este arquivo é onde está toda a parte chata da configuração do SVN.
fernando@fenote:~$ sudo vi /etc/apache2/mods-available/dav_svn.conf

Dentro do arquivo há varios tipos de configurações e autenticações, até mesmo via LDAP. Mas aqui faremos via um arquivo de senha porque é muito mais fácil de se restaurar ou mover o SVN para outro servidor restaurando um backup. Focaremos praticidade! Colocando as informações abaixo no arquivo dav_svn.conf e alterando onde você entender necessários os diretórios dentro do seu sistema de arquivos

# O /svn eh o contexto do apache
<Location /svn>

# Habilita o SVN
DAV svn

# Caminho do seu repositorio
SVNPath /var/lib/svn

# Tipo de Autenticacao
AuthType Basic

# Nome que vai aparecer ao pedir usuario/senha
AuthName "Fernando Franceschi Repositorio"

# Arquivo onde fica usuario/senha
AuthUserFile /var/lib/svn/conf/fernando.passwd

# Diz que so usuarios validos tem acesso a ler e gravar
Require valid-user
</Location>

Criando um usuário no arquivo fernando.passwd que será usado na nossa autenticação
fernando@fenote:~$ sudo htpasswd -c /var/lib/svn/conf/fernando.passwd fernando

Lembre-se que o parâmetro -c sempre cria um novo arquivo. Então só use na primeira vez que for executado. Agora, após configurar tudo falta apenas dar permissão de gravação para o usuário www-data que é o usuário do apache, pois a gravação é feita através dele.
fernando@fenote:~$ sudo chown www-data:www-data -R /var/lib/svn/

Agora só reiniciar o apache
fernando@fenote:~$ sudo /etc/init.d/apache2 restart

Para teste local, acesse http://localhost/svn

Dentro do Eclipse recomendo o plugin Subclipse que funciona muito bem. Para backup use
fernando@fenote:~$ sudo svnadmin hotcopy /var/lib/svn /backup

Recomendo utilizar o cron para efetuar esse backup durante a madrugada, e fazer um tar.bz2 para melhor compressão do backup. Para restaurar basta configurar o arquivo dav_svn.conf apontando para o lugar restaurado, e

Boa Sorte 🙂 !

Referencia: http://svnbook.red-bean.com
Download apache: http://httpd.apache.org/download.cgi
Download SVN: http://subversion.tigris.org/getting.html