↓ Ir para o conteúdo principal

← todas as notas

📎 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.