我在 Heroku cedar 堆栈上托管基于 Jekyll 的博客(github 代码)。
我通过我的 Rakefile 构建 jekyll文件:
namespace :assets do
desc 'Precompile assets'
task :precompile do
sh "bundle exec sass --update _scss:_css --style compressed"
sh "bundle exec jekyll"
end
end
这会将文件输出到一个_site
目录中,Rack 将从该目录中提供文件。
这已经工作了一年多,并且在我博客的当前实时版本(两周前发布)上运行良好:
$ heroku run ls _site
Running `ls _site` attached to terminal... up, run.9360
2012 404 apple-touch-icon.png back-end css front-end index.html politics public-domain.txt rss.xml
2013 410 assets config favicon.ico go.sh personal postsbytag robots.txt sitemap.xml
但是,每当我现在尝试发布任何内容或将相同版本的代码发布到新应用程序_site
时,似乎都没有创建该目录:
$ git push git push git@heroku.com:robinwinslow-dev.git
...
http://robinwinslow-dev.herokuapp.com deployed to Heroku
...
$ heroku run ls _site --app robinwinslow-dev
Running `ls _site` attached to terminal... up, run.2577
ls: cannot access _site: No such file or directory
该网站显示:
Internal Server Error
No such file or directory - _site/404/index.html
有谁知道为什么这会改变?Heroku 有什么变化吗?还是我突然做了什么蠢事?