首页 > 解决方案 > Google App Engine 资产管道标准环境

问题描述

当应用程序部署到标准(非灵活)环境时,是否可以在 Google App Engine 中使用 Ruby on Rails 资产管道?我知道在部署到灵活环境时会发生预编译,但我无法让它在标准环境中工作。

标签: ruby-on-railsgoogle-app-engineasset-pipeline

解决方案


问题在于默认配置app.yaml是阻止将关键文件上传到 GAE。

具体来说,该skip_files部分有一些默认值会阻止所有 dot-files 被上传,包括 sprockets 清单文件:/public/assets/.sprockets-manifest-5y483543959430890.json. 如果没有这个文件,Rails 会假定资产没有被预编译。

您需要skip_files使用不会阻止上传 sprockets 清单但仍会阻止.git/*.

这现在对我有用,但我相信它可以进一步完善:

skip_files:
- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\.git/.*$

推荐阅读