Wercker から CircleCI へ
WordPressからGitHub Pages + hugoに移行した で書いたとおり GitHub と Hugo で Blog 書くことにしたものの、Wercker の UI がなんか微妙だったのと、仕事で CircleCI 使ってるのでいっその事移行することにした。
circle.yml
こんな感じに
machine:
timezone: Asia/Tokyo
checkout:
post:
- git submodule update --init --recursive
dependencies:
pre:
- go get -v github.com/spf13/hugo
- git config --global user.name "nobu666"
- git config --global user.email "ogata.nobu@gmail.com"
test:
override:
- echo
deployment:
master:
branch: master
commands:
- git clone git@github.com:nobu666/nobu666.github.io.git public
- hugo
- cd public && git add . && git commit -m "[ci skip] publish"; if [ $? -eq 0 ]; then git push origin master; else :; fi
test 部分はなんか書いとかないと warning が出てしまうので適当に。deployment のとこは、 README だけ変えたいときとかに git commit
が空振りしたエラーになるのを避けるため条件分岐している。
CircleCI 側の設定
- CircleCI の Project Settings で設定画面を開く
- Permissons にある Checkout SSH keys を開く
- GitHub の Authorize をする
- Create and add 的なボタンがあるのでそれをポチる
リポジトリは2つ使っていて、ソースに nobu666/nobu666.com 、公開用に nobu666/nobu666.github.io を使っている。branch で分ければ1つでもできると思うが、非公開にする必要ないし、2つ作ってしまっていいと思う。