今週は、1週間かけて、shinixサイトを立ち上げた。
シェルスクリプトでサーバ公開までを自動化した。
シェルスクリプトがバクっていて、rm -rfでsphinxサイトを完全削除してしまった。
うわ~~~~~ w(◎o◎)w
sphinxでrstファイルを作成したあとに、自動ビルドが実行できたら便利だなと思った。
というわけで、(なんか前置きとつながってないけど)自動ビルドを調べてみた。
2つの方法があるっぽい
- omake
- watchdog
今回は、watchdogを試してみた。
watchdogでなにができる?
watchdogとはpythonモジュールの一つ。
この中に含まれる、watchmedoコマンドを使うことで、
ファイルの更新があったときにコマンドを実行できる。
環境
- Sphinx 1.1.3
- phthon 2.6
- Windows 7 64bit
watchdogのインストール
pythonとpython setuptoolはインストールされていることが前提。
(なければこのページを参考にして、インストール)
インストールはコマンドプロンプトからeasy_installを実行する。
watchdogの使い方
watchdogのコマンド watchmodeを利用して更新を監視するには以下のコマンドを叩く。
watchmedo shell-command --patterns="*.rst" --recursive --wait --command="make html"
これで、rstファイルを編集すると、watchmedoコマンドが再帰的に変更されたファイルを検索して、変更を検出したら “make htm"を実行する。
watchmedoコマンドオプション
コマンド | 説明 |
-h, -help | ヘルプ表示 |
-c COMMAND, -command COMMAND | 実行したいコマンド |
-p PATTERNS, -pattern PATTERNS,
-patterns PATTERNS |
監視したい拡張子を指定 |
-i IGNORE_PATTERNS, -ignore-pattern IGNORE_PATTERNS
-ignore-patterns IGNORE_PATTERNS |
無視する拡張子 |
-D, -ignore-directories | 無視するディレクトリ |
-R, -recursive | 再帰的に監視 |
-interval TIMEOUT -timeout TIMEOUT | タイムアウト時間指定 |
-w, -wait | 複数実行禁止 |