LoginSignup
0
0

More than 5 years have passed since last update.

Octpressがgithubにデプロイする仕組み

Posted at

rake setup_github_pagesの動作をちゃんと理解していなかったせいでrake deployしてもサイトに反映されなくなってしまいました。

経緯

  1. あるマシンでoctopressをセットアップして使い始める
  2. 最初の記事を書き、rake gen_deployして公開できたことを確認してsourceブランチをpushする
  3. 別のマシンで2でpushしたリポジトリをcloneしてきて、sourceブランチをcheckoutして記事を書く
  4. rake generateすると_deployディレクトリが無いと怒られる
  5. mkdir _deployする <- まちがい
  6. 記事を書き、rake gen_deployする -> エラー無く完了するも、デプロイされない

原因と対応

_deployディレクトリがgithub pagesリポジトリのcloneじゃなかったからです。

2の状態では上手くいっていたので、Rakefileを読んでみました。

ドキュメントにもちゃんと書いてありますが、rake setup_github_pagesは以下のことをやっています。

  1. originをoctopressにリネームする
  2. デプロイ先(username.github.io)をoriginにする
  3. masterブランチをsourceブランチにリネームする
  4. _deployディレクトリを作り、その中でgit initしてfirst commitをする
  5. こちらもoriginをデプロイ先リポジトリにする

username.github.ioを使っている場合は、4で作られるブランチ名はmasterになります(それ以外はgh-pages)。

この_deployディレクトリは、.gitignoreに入っていて除外されているため、username.github.ioをcloneした時点では存在しません。

そのため、他のマシン(あるいは他の人)がcloneするときは以下の手順が必要です。

git clone -b source git@github.com:username/username.github.io
cd username.github.io
git clone git@github.com:username/username.github.io _deploy

あれ、新しいOctopressがある

書いてるときに気づいたんですが、Octopress3.0リリースのアナウンスが…

This release is full rewrite. とか書いてあるし、CLIもまったく別物になっているようです。

せっかく仕組み把握したのに…と思いつつも、そのうち移行します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0