dieyushi's Blog

ATOM Rss

heroku部署jekyll

March 21 2013 , life

说明

在heroku上部署jekyll站点通常的做法是搭建jekyll环境,在heroku上进行编译,或者是使用rack-jekyll.为了部署方便,我们采用了在服务器上不安装jekyll的情况下,将jekyll编译好的文件通过git传到heroku。

cat config.ru

require 'rack/contrib/static_cache'
require 'rack/contrib/try_static'
require 'rack/contrib/not_found'

use Rack::Deflater

use Rack::StaticCache,
  :urls => %w[/assets /favicon.ico],
  :root => "_site"

use Rack::TryStatic,
  :urls => %w[/],
  :root => "_site",
  :try  => ['.html', 'index.html', '/index.html']

run Rack::NotFound.new('_site/404.html')

cat Gemfile

source "https://rubygems.org"

gem "rack-contrib", "~> 1.1.0"
gem "puma", "~> 1.6.3"

Gemfile.lock可以由bundle install生成

cat Procfile

web:     bundle exec puma -p $PORT config.ru

建立子目录_site,在_config.yaml中设置destination:./.site/_site,每次通过jekyll生成的文件放到这个目录中,然后在./site中可以通过git传到heroku。

comments powered by Disqus