概要
Wercker で Sphinx ドキュメントをコンパイルするための設定をスクリーンショット付きでまとめる.
手順
Wercker の Create → Application から対象のリポジトリをインポートする.
インポート後の画面は下記のようになっているので,Workflow タブへ移動する.
その中から build パイプラインの設定を開く.
build パイプラインの設定画面をスクロールし,Permission level 項目を表示させる.
そして,Permission level は,他人がパイプラインを実行することを防ぎ,
また不用意にログを公開しないようにexecute pipeline を選ぶ.
また,Ignore branches に gh-pagesを追加しておく.
これを忘れると,ドキュメントを gh-pages に push 後,またコンパイルが始まってしまう.
次に,ワークフロータブへ戻り,新しいパイプラインを作成する.

新しいパイプラインに deploy という名前をつけて,フックタイプをデフォルトにする.デフォルトは,前のパイプラインに繋げて使うための設定である.
コンパイルしたドキュメントを GitHub へアップロードするために,
このパイプラインへ GitHub へのアクセストークンを環境変数として登録する.
環境変数名は GIT_TOKEN とし,protected オプションにチェックを入れる.
GitHub のトークンは https://github.com/settings/tokens から取得できる.
公開リポジトリの場合は,public_repo にのみチェックを入れれば良い.
非公開リポジトリの場合は,repo にチェックを入れる必要があると思われる(試していない).
GIT_TOKEN 環境変数を追加したら,Permission level を Execute pipelines に変更しパイプラインを作成する.
次に,先ほど作成した deploy パイプラインを build に繋げて新しいワークフローを作成する.
また,master に push した時だけ動作するように, On branch(es) を編集しておく.
最終的に,次のようになっていれば良い.
最後に,wercker.yml をリポジトリに追加する.
例えば,docs フォルダにあるソースを Sphinx でコンパイルする場合,wercker.ymlは次のようになる.
box: jkawamoto/ghp-box
build:
steps:
- jkawamoto/sphinx:
basedir: docs
packages: sphinx_rtd_theme
deploy:
steps:
- jkawamoto/ghp-import:
token: $GIT_TOKEN
basedir: docs/build/html
なお,この例では,sphinx_rtd_theme を利用し,
コンパイル後のドキュメントが docs/build/html に生成されると仮定している.
そうでない場合は,basedir を環境に合わせて編集する.
box や step の説明は下記を参照のこと.