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 がファイルを提供するディレクトリにファイルが出力されます。
これは 1 年以上機能しており、現在ライブ バージョンのブログ (2 週間前にリリース) では問題なく機能しています。
$ 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 で何か変更がありましたか? それとも私は突然愚かなことをしましたか?