jekyll-s3でjekyllをAmazon S3で公開する
タグ: jekyll / 初版公開: 2013-05-02

jekyllは静的なHTMLを出力するので、Amazon S3でWebサイトやブログを公開することができる。 その際はもちろんS3 Sync等を使っても良いが、jekyll-s3を使えばjekyllの出力結果をAmazon S3へコマンド1つで簡単にアップロードできる。

インストール

jekyllと同様にgemからインストールできる。

gem install jekyll-s3

使い方

jekyllのディレクトリ(_layoutや_siteが存在するディレクトリ)に移動する。

jekyll-s3コマンドを実行する。カレントディレクトリに設定ファイルの_jekyll_s3.ymlが生成される。

s3_id: YOUR_AWS_S3_ACCESS_KEY_ID
s3_secret: YOUR_AWS_S3_SECRET_ACCESS_KEY
s3_bucket: your.blog.bucket.com

生成された_jekyll_s3.ymlを編集し、アクセスキー、シークレットアクセスキー、バケットを設定する。 日本のリージョンで公開する場合は、以下の1行を追加する。

s3_endpoint: ap-northeast-1

事前にバケットを設定していないなら、configure-s3-websiteコマンドでバケットの作成と公開の設定が自動で行える。 configure-s3-websiteコマンドは、index.htmlをインデックスページに、error.htmlをエラーページに設定し、さらにバケットのポリシーで全ファイルを公開する設定をする。

configure-s3-website --config-file _jekyll_s3.yml

以上の操作を終えたら、再度jekyll-s3コマンドを実行すると、_site以下のファイルがAmazon S3と同期される。

jekyll-s3