<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Fernando Franceschi &#187; ambiente</title>
	<atom:link href="http://ffranceschi.wordpress.com/category/ambiente/feed/" rel="self" type="application/rss+xml" />
	<link>http://ffranceschi.wordpress.com</link>
	<description>Muito além do básico...</description>
	<lastBuildDate>Fri, 20 Mar 2009 04:19:36 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='ffranceschi.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/2fa17f6984f92e7e42ad201fefe9dc0a?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Fernando Franceschi &#187; ambiente</title>
		<link>http://ffranceschi.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ffranceschi.wordpress.com/osd.xml" title="Fernando Franceschi" />
		<item>
		<title>Montando um ambiente de desenvolvimento &#8211; Parte 2</title>
		<link>http://ffranceschi.wordpress.com/2009/03/03/montando-um-ambiente-de-desenvolvimento-parte-2/</link>
		<comments>http://ffranceschi.wordpress.com/2009/03/03/montando-um-ambiente-de-desenvolvimento-parte-2/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 22:48:53 +0000</pubDate>
		<dc:creator>ffranceschi</dc:creator>
				<category><![CDATA[ambiente]]></category>

		<guid isPermaLink="false">http://ffranceschi.wordpress.com/?p=73</guid>
		<description><![CDATA[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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ffranceschi.wordpress.com&blog=5017115&post=73&subd=ffranceschi&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>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 <a href="http://cruisecontrol.sourceforge.net/">CruiseControl</a> e o <a href="http://continuum.apache.org">Continuum</a> são um exemplo desse tipo de software, e esse último será nosso foco nesse post. </p>
<p>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)</p>
<p>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 <a href="http://continuum.apache.org/download.html">http://continuum.apache.org/download.html</a>, baixe a versão standalone. Após download descompacte o continuum, e para testar, basta executar dentro do diretório bin:<br />
<code><br />
fernando@fenote:/usr/local/java/apache-continuum-1.2.3/bin$ ./continuum start<br />
Starting Apache Continuum...<br />
</code><br />
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</p>
<p><code><br />
fernando@fenote:/usr/local/java/apache-continuum-1.2.3/bin$ sudo ln -s continuum /etc/init.d/<br />
fernando@fenote:/usr/local/java/apache-continuum-1.2.3/bin$ sudo update-rc.d -n continuum defaults 99<br />
</code></p>
<p>Agora basta acessar <a href="http://localhost:8080/continuum/">http://localhost:8080/continuum/</a>, cadastrar seu projeto e programar seus builds!</p>
<p>Boa Sorte!</p>
<p>Referencia:<a href="http://continuum.apache.org"> http://continuum.apache.org</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ffranceschi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ffranceschi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ffranceschi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ffranceschi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ffranceschi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ffranceschi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ffranceschi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ffranceschi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ffranceschi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ffranceschi.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ffranceschi.wordpress.com&blog=5017115&post=73&subd=ffranceschi&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ffranceschi.wordpress.com/2009/03/03/montando-um-ambiente-de-desenvolvimento-parte-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/75bd8585e9bdde422c4fba4187de3dd3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ffranceschi</media:title>
		</media:content>
	</item>
		<item>
		<title>Montando um ambiente de desenvolvimento &#8211; Parte 1</title>
		<link>http://ffranceschi.wordpress.com/2009/02/18/montando-um-ambiente-de-desenvolvimento/</link>
		<comments>http://ffranceschi.wordpress.com/2009/02/18/montando-um-ambiente-de-desenvolvimento/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 12:59:58 +0000</pubDate>
		<dc:creator>ffranceschi</dc:creator>
				<category><![CDATA[ambiente]]></category>

		<guid isPermaLink="false">http://ffranceschi.wordpress.com/?p=26</guid>
		<description><![CDATA[           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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ffranceschi.wordpress.com&blog=5017115&post=26&subd=ffranceschi&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>           Montar um ambiente de desenvolvimento é sempre algo bem trabalhoso, e, não é algo que fazemos no nosso dia a dia. Um bom <em>servidor</em> 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 <em>&#8220;posts&#8221;</em> pretendo mostrar como montar um servidor de desenvolvimento usando <strong>Subversion(SVN)</strong>, <strong>Continuum</strong>, <strong>Archiva</strong> e o <strong>Trac</strong> 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.</p>
<p>           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 é:</p>
<p>Instalar o apache que será nosso servidor http<br />
<code>fernando@fenote:~$ sudo apt-get install apache2</code></p>
<p>Instalar o SVN propriamente dito<br />
<code>fernando@fenote:~$ sudo apt-get install subversion</code></p>
<p>          Uma vez o SVN instalado precisamos criar um diretório para que fique o seu repositório<br />
<code>fernando@fenote:~$ sudo mkdir /var/lib/svn</code></p>
<p>Criar um repositório:<br />
<code>fernando@fenote:~$ sudo svnadmin create /var/lib/svn/</code></p>
<p>           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).<br />
           O Apache tem um módulo de integração com o SVN que é necessário para configurar o contexto e a autenticação<br />
<code>fernando@fenote:~$ sudo apt-get install libapache2-svn</code></p>
<p>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.<br />
<code>fernando@fenote:~$ sudo vi /etc/apache2/mods-available/dav_svn.conf</code></p>
<p>           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<br />
<code><br />
# O /svn eh o contexto do apache<br />
&lt;Location /svn&gt;</p>
<p># Habilita o SVN<br />
DAV svn</p>
<p># Caminho do seu repositorio<br />
SVNPath /var/lib/svn</p>
<p># Tipo de Autenticacao<br />
AuthType Basic</p>
<p># Nome que vai aparecer ao pedir usuario/senha<br />
AuthName "Fernando Franceschi Repositorio"</p>
<p># Arquivo onde fica usuario/senha<br />
AuthUserFile /var/lib/svn/conf/fernando.passwd</p>
<p># Diz que so usuarios validos tem acesso a ler e gravar<br />
Require valid-user<br />
&lt;/Location&gt;<br />
</code></p>
<p>Criando um usuário no arquivo fernando.passwd que será usado na nossa autenticação<br />
<code>fernando@fenote:~$ sudo htpasswd -c /var/lib/svn/conf/fernando.passwd fernando</code></p>
<p>           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.<br />
<code>fernando@fenote:~$ sudo chown www-data:www-data -R /var/lib/svn/</code></p>
<p>          Agora só reiniciar o apache<br />
<code>fernando@fenote:~$ sudo /etc/init.d/apache2 restart</code></p>
<p>           Para teste local, acesse http://localhost/svn</p>
<p>           Dentro do Eclipse recomendo o plugin <a href="http://subclipse.tigris.org">Subclipse</a> que funciona muito bem. Para backup use<br />
<code>fernando@fenote:~$ sudo svnadmin hotcopy /var/lib/svn /backup</code></p>
<p>           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</p>
<p>Boa Sorte <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  !</p>
<p>Referencia: <a href="http://svnbook.red-bean.com">http://svnbook.red-bean.com</a><br />
Download apache: <a href="http://httpd.apache.org/download.cgi">http://httpd.apache.org/download.cgi</a><br />
Download SVN: <a href="http://subversion.tigris.org/getting.html">http://subversion.tigris.org/getting.html</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ffranceschi.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ffranceschi.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ffranceschi.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ffranceschi.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ffranceschi.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ffranceschi.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ffranceschi.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ffranceschi.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ffranceschi.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ffranceschi.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ffranceschi.wordpress.com&blog=5017115&post=26&subd=ffranceschi&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ffranceschi.wordpress.com/2009/02/18/montando-um-ambiente-de-desenvolvimento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/75bd8585e9bdde422c4fba4187de3dd3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ffranceschi</media:title>
		</media:content>
	</item>
	</channel>
</rss>