jubilee

Programing, Books and more...

Octopressブログ環境の再構築:第5回

Bitbucketで管理しているOctopressブログ環境を取得し、ローカルに再構築する。

  1. Homebrewのインストール
  2. rbenvのインストール
  3. Ruby1.9.3のインストール
  4. SSH鍵の設定(GitHub, Bitbucket)
  5. Octopressブログ環境の構築(From Bitbucket) <– いまここ

手順

  1. Octopressブログ環境の取得(Bitbucketから)
  2. bundlerのインストール
  3. GitHubとOctopressを繋げる
  4. GitHubリポジトリ(mzgk.github.io)の削除/再作成(他に解決法はあると思う)
  5. 記事作成 –> デプロイ
  6. Octopressブログ環境を管理(Bitbucket)

1. Octopressブログ環境の取得

BitbucketのリポジトリでOctopressローカル環境を管理していたので、$ git clone でローカルにファイルを取得する。
Terminalを起動し、ディレクトリを作成したい場所まで移動。

1
2
3
$ git clone git@bitbucket.org:mzgk/mzgk.github.io.git
...
Checking connectivity... done

これでローカルにmzgk.github.ioディレクトリが作成され、ブログ環境一式が取得できる。

2. bundlerインストール

予想していなかったが、bundlerのインストールが必要だった。
テーマは既にあるので $ rake install は不要。

1
2
3
4
5
6
7
8
// Octopress環境のディレクトリに移動して
$ gem install bundler
...
Installing RDoc documentation for bundler-1.5.3...
$ rbenv rehash
$ bundle install
...
Your bundle is complete!

3. GitHubとOctopressを繋げる

これも予想していなかったが、ローカルとGitHub Pagesの接続が必要。

1
2
3
4
5
6
// Octopress環境のディレクトリに移動して
$ rake setup_github_pages
...
Repository url:ここにGitHubリポジトリの「SSH clone URL」をペースト
...
## Now you can deploy to git@...

4. GitHubリポジトリ(mzgk.github.io)の削除/再作成(※※解決法あり)

なぜか、$rake deploy でエラーが発生して失敗する。

1
2
3
4
5
6
7
8
## Pushing generated _deploy website
To git@github.com:mzgk/mzgk.github.io.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:mzgk/mzgk.github.io.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

よくわからず…(-fの方法は?)
コンフリクトしているみたいなので、デプロイ先のGitHubのリポジトリを消してみる。
再度、$ rake deployでうまくいく。

※※
Rakefileを以下のように変更してdeployすると大丈夫だとのこと(今回は試してはいない)。
L264行目あたり

1
2
3
system "git push origin #{deploy_branch}"
system "git push origin +#{deploy_branch}"

5. 記事作成->デプロイ

あとはいつも通りの流れ。

1
2
3
4
5
6
7
8
9
// ポストファイル作成(source/_postsにyyyy-mm-dd-title.markdown)
$ rake new_post["title"]
// 記事を書いて
// 生成
$ rake generate
// プレビュー(localhost:4000)
$ rake preview
// デプロイ
$ rake deploy

6. Octopressブログ環境を管理(Bitbucket)

ローカル環境をリモートリポジトリBitbucketにPUSHして管理。

1
2
3
4
5
6
$ git add .
$ git commit -m "コメント"
// リモートリポジトリを追加
$ git remote add bitbucket git@bitbucket.org:mzgk/mzgk.github.io.git
// リモートリポジトリにPush(以後は$ git pushのみで可)
$ git push -u bitbucket source

以上

以上で、無事に終了。