Evitando reinicializações do IIS em um ambiente de desenvolvimento separado do Sitecore, agora com Sitecore Rocks

Este post traz algumas das minhas experiências recentes nos meus últimos projetos, como uma continuação do post “Evitando restarts do IIS com Robocopy em um evento Post-Build“.

Naquela época propus usar um post-build event disparando a cópia com robocopy, o que funcionou bem naquela situação em particular. Algum tempo depois tive acesso através do meu time ao “CopySauce”, um software que monitora seu código por mudanças, copiando-as imediatamente após a mudança ser detectada. Curiosamente, algumas semanas depois Sean Holmesby (autor do CopySauce) comentou em meu post, sugerindo sua ferramenta como alternative ao Robocopy.

Uma coisa que me agrada nesta abordagem é a cópia imediata dos arquivos modificados, pois isto imita muito bem o que é (em minha opinião) a única vantagem da velha estratégia de ter a solução e o Sitecore no mesmo lugar: evitar reinicializações do IIS quando os arquivos alterados não exigem compilação (como JS, CSS, markup, etc). E ao contrário do robocopy, esta estratégia sequer exige a compilação da solução – os arquivos são transferidos assim que são salvos.

Sitecore Rocks – Sincronização de Pastas

A única “implicância” que tenho com o CopySauce é a necessidade óbvia de iniciá-lo para que ele comece a agir. Uma vez que já estamos usando o Sitecore Rocks para algumas atividades de desenvolvimento, assim que soube da existência de uma funcionalidade nativa similar ao CopySauce, decidi testá-la. Se você já tem o Sitecore Rocks instalado em seu Visual Studio, você tem tudo que precisa para começar a trabalhar.

Setup da solução

Configurar a sincronização de pastas em sua solução com Sitecore Rocks é um pouco diferente do CopySauce – ao invés de um XML, o Rocks oferece auxílios visuais integrados ao Visual Studio. Acesse a documentação oficial para detalhes sobre como configurar seu projeto.

Você pode especificar que pastas em sua solução sincronizar com o menu do botão direito

Você pode especificar que pastas em sua solução sincronizar com o menu do botão direito

E então selecionar um dos dois métodos de sincronização

E então selecionar um dos dois métodos de sincronização

Sincronização de pastas – literalmente

Uma coisa que em minha opinião é uma falha desta ferramenta é que, como seu próprio nome diz, ela só pode ser usada para manter pastas sincronizadas. Como consequencia, você não pode manter arquivos na raiz em sincronia entre a solução e a aplicação web, tendo que manualmente copiar estes arquivos.
Isto afetaria tipicamente ao menos o web.config, então evite manter coisas que são frequentemente alteradas na raiz de seu projeto.

VS Solution Sync Folders

Apenas pastas podem ser mantidas em sincronia

VS Sync project Setup

Nas soluções que testei, estas eram as pastas que mantive em sincronia para começar a tirar vantage da ferramenta

Performance

A ferramenta também faz a cópia assim que você salva o arquivo, porém notei as vezes um certo delay, geralmente não maior do que 10 segundos, o que é aceitável em comparação com um build normal.

Publicado em Architecture, Sitecore Rocks, Visual Studio

Leave a Reply

Your email address will not be published. Required fields are marked *

*

  Am Not Spammer

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>