Wercker で Sphinx ドキュメントをコンパイルする

Posted: , Modified:   Wercker Sphinx Qiita

本稿は Qiita 投稿記事 のバックアップです.

概要

English

Wercker で Sphinx ドキュメントをコンパイルするための設定をスクリーンショット付きでまとめる.

手順

Wercker の Create → Application から対象のリポジトリをインポートする. インポート後の画面は下記のようになっているので,Workflow タブへ移動する.

その中から build パイプラインの設定を開く.

build パイプラインの設定画面をスクロールし,Permission level 項目を表示させる.

そして,Permission level は,他人がパイプラインを実行することを防ぎ, また不用意にログを公開しないようにexecute pipeline を選ぶ. また,Ignore branchesgh-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 の説明は下記を参照のこと.