<?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/"
	>

<channel>
	<title>Jony dos Santos Kostetzer &#187; linux</title>
	<atom:link href="http://jonysk.net/blog/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonysk.net/blog</link>
	<description>ruby on rails and some other stuffs...</description>
	<lastBuildDate>Sun, 30 Aug 2009 17:03:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Capistrano com remote_cache + mongrel_cluster</title>
		<link>http://jonysk.net/blog/2008/02/23/capistrano-com-remote_cache-mongrel_cluster/</link>
		<comments>http://jonysk.net/blog/2008/02/23/capistrano-com-remote_cache-mongrel_cluster/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 04:49:20 +0000</pubDate>
		<dc:creator>Jony dos Santos Kostetzer</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[mongrel]]></category>
		<category><![CDATA[mongrel_cluster]]></category>

		<guid isPermaLink="false">http://jonysk.net/blog/2008/02/23/capistrano-com-remote_cache-mongrel_cluster/</guid>
		<description><![CDATA[Uma dica rápida para fazer o deploy usando remote_cache e mongrel_cluster. Antes da dica, uma introdução nos temas abordados:

Capistrano é uma ferramenta que, a grosso modo, permite realizar tarefas remotas de todos os tipos. Uma das aplicações comuns é no processo de deployment do Rails que é, de longe, facilitado pelo Capistrano 


mongrel_cluster é, em [...]]]></description>
			<content:encoded><![CDATA[<p>Uma dica rápida para fazer o deploy usando remote_cache e <a href="http://mongrel.rubyforge.org/wiki/MongrelCluster">mongrel_cluster</a>. Antes da dica, uma introdução nos temas abordados:</p>
<p>
<strong>Capistrano</strong> é uma ferramenta que, a grosso modo, permite realizar tarefas remotas de todos os tipos. Uma das aplicações comuns é no processo de deployment do Rails que é, de longe, facilitado pelo Capistrano <img src='http://jonysk.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
<p>
<strong>mongrel_cluster</strong> é, em suma, um <em>Gem</em> que agrupa um cluster de servidores de aplicação Mongrel, simplificando a tarefa de gerenciá-los.
</p>
<p><strong>Remote cache</strong> é uma estratégia de deployment do Capistrano que executa uma tarefa interessante: ela faz um clone do repositório GIT (ou um checkout, se for Subversion) e atualiza a aplicação apenas com um <a href="http://www.samba.org/rsync/">rsync</a>, ou seja, copia apenas os arquivos modificados para a release atual.
</p>
<p><span id="more-15"></span></p>
<p>Dentre as estratégias existentes de deployment do Capistrano, prefiro utilizar o remote_cache. Porém, quando em conjunto com mongrel_cluster, existe a necessidade de que o arquivo de configuração do mongrel_cluster (config/mongrel_cluster.yml) exista para que os processos Mongrel possam ser levantados e o deploy tenha sucesso.</p>
<p>Uma saída seria adicionar o arquivo config/mongrel_cluster.yml ao repositório. Entretanto, perderíamos a flexibilidade de centralizar nosso deploy no deploy.rb (arquivo principal do Capistrano na aplicação). Qualquer modificação exigiria, em seguida, executar <strong>mongrel:cluster:configure</strong> e comitar para o repositório.<br />
Uma saída simples que montei para manter a flexibilidade de fazer o deploy usando mongrel_cluster e as configurações foi:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'mongrel_cluster/recipes'</span>
&nbsp;
<span style="color:#008000; font-style:italic;"># outras configurações omitidas...</span>
&nbsp;
set <span style="color:#ff3333; font-weight:bold;">:deploy_via</span>, <span style="color:#ff3333; font-weight:bold;">:remote_cache</span>
set <span style="color:#ff3333; font-weight:bold;">:mongrel_conf</span>, <span style="color:#996600;">&quot;#{current_path}/config/mongrel_cluster.yml&quot;</span>
&nbsp;
<span style="color:#008000; font-style:italic;"># outras configurações omitidas...</span>
&nbsp;
before <span style="color:#996600;">&quot;deploy:start&quot;</span>, <span style="color:#996600;">&quot;mongrel:cluster:configure&quot;</span>
before <span style="color:#996600;">&quot;deploy:restart&quot;</span>, <span style="color:#996600;">&quot;mongrel:cluster:configure&quot;</span></pre></div></div>

<p></p>
<p>
Com as duas últimas linhas acontece o seguinte: quando um <strong>cap deploy</strong> ou <strong>cap deploy:cold</strong> é executado, a configuração do mongrel_cluster é gerada no servidor, a partir das configurações do seu deploy.rb.
</p>
<p>Simples, quem sabe seja útil no seu próximo deploy. <img src='http://jonysk.net/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://jonysk.net/blog/2008/02/23/capistrano-com-remote_cache-mongrel_cluster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
