Octopressってめんどくさいよね
Octopressはmarkdownでブログ書けて,見た目も良い感じで導入した当初はすげーテンションがあがって記事を書きまくってたのですが,rake generete
とかするのが超めんどくさい.さらにちゃんとセットアップしてるマシンでやらないとrubyのバージョン違いでなんかエラー出たりして超めんどくさいので,最近記事かくのがおっくうでした.
そこで,Travis CIとOctopressをforkしてるリポジトリを連携させることでそういう煩わしさを減らしてブログを書けることが判明しました!色々ハマりどころがあって1日ぐらいかかったので解説記事を書くよ!
ちなみに,TravisCIと連携させてgenerateするようにしておけば,Prose.io(github連携のWebエディタ)を使ったりするとOctopressでgenerate出来ない環境とかでもブログが書ける! GitMongo使ったりすれば,iPad/iPhoneからOctopressでブログが書ける!
というわけで手順解説です.
OctopressとTravisを連携させる
今回の構成はこんな感じ
作業は全部↑で言うOctopress(forked)に対して行います.
下に書く.travis.yml
のREPOで指定している所が配置するリポジトリです.(上図のGitHub Pagesと書いてるところ)
まず,Travis CIと連携するための.travis.yml
をプロジェクトのrootに置きます.
.travis.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Travis CI用の鍵作成
1 2 3 4 5 6 7 8 9 10 |
|
ブラウザが開くので,Add SSH Keyボタンを押して追加します.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
.travis.ymlの書き換え
$id_rsa_{1..32}
みたいに書いている場所は↑のid_rsa_Xが何個あるかをカウント
の部分でカウントした数にします.
僕の場合は32
でした.
リポジトリにpushする
$ git push remote source
Travis CI側の設定
https://travis-ci.org/profile からリポジトリの所をonにする.
https://github.com/ユーザ名/リポジトリ名/settings/hooks#travis_minibucket からtravisのhookが設定されているので,TestHookを押す.
https://travis-ci.org/にアクセスするとなんかビルドが始まって勝手に更新される!
ハマりどころ
Enter passphrase for key ‘/home/travis/.ssh/id_rsa’: とか出やがって止まる
- travis encryptに指定するユーザ名,リポジトリ名をミスってる
- id_rsa_Xの番号をミスってる(ちゃんとid_rsaXの数分Secureの行数分指定しているか)
- 鍵生成でミスってる(passpraseをemptyに)
base64コマンドがbase64: unrecognized option `–wrap=0’とか吐く
brew install base64
して入ったbase64で実行する.
/usr/bin/base64
を使うと--wrap
オプションが無い.