概要
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 の説明は下記を参照のこと.