📎 Webclip
Opções de hospedagem Rails: AppFog (#dica melhorando deploys)
O texto descreve uma forma de fazer deploy de uma aplicação Rails no AppFog sem depender da compilação de assets no servidor. A orientação principal é precompilar os assets localmente, usar turbo-sprockets para acelerar o processo e ajustar o ambiente de desenvolvimento para continuar compilando os assets dinamicamente sem interferência da pasta public/assets.
Fichamento#
- O AppFog usa af update em vez de git push, e isso leva a um upload dos arquivos do projeto.
- Como o AppFog não lida bem com assets:precompile, a solução recomendada é precompilar localmente antes do deploy.
- Para não quebrar o desenvolvimento local depois da precompilação, o texto sugere mudar config.assets.prefix para /assets_dev em development.rb.
- Com esse ajuste, o Rails ignora public/assets em desenvolvimento e volta a compilar a partir de app/assets.
- O texto aponta um problema grave no deploy ligado à gem libv8, que falha ao compilar nos servidores da AppFog.
- A libv8 entra no processo por causa do Asset Pipeline e de dependências como less e Twitter Bootstrap.
- A explicação dada é que o AppFog tenta instalar gems do grupo assets durante o staging e esbarra na compilação da libv8.
- Para contornar isso, o texto recomenda usar uma versão ímpar da libv8 no Gemfile.lock, porque essa versão já traz binários.
- Também diz que pode ser preciso incluir as gems do grupo assets na production dentro da Gemfile.
- O arquivo production.rb deve ter config.serve_static_assets = true.
- Antes do deploy, o procedimento indicado é rodar rake assets:precompile bundle package.
- Mesmo quando o comando af update termina com erro, o texto relata que a aplicação pode subir se a fase de Staging tiver concluído.
- A conclusão é que o processo de deployment da AppFog ainda precisa melhorar bastante.
