今週は、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を実行する。
easy_install watchdog
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 | 複数実行禁止 |
<p>
 
</p>
<h4>
参考サイト
</h4>
<ul>
<li>
<a href="http://tell-k.hatenablog.com/entry/2012/01/04/022229">omakeもmakeも使わずに、Sphinxドキュメントの継続的ビルド – Study08.net 対シンバシ殲滅用人型機動兵器</a>
</li>
<li>
<a href="http://d.hatena.ne.jp/nullpobug/20120331/1333125058">watchdogモジュールのwatchmedoコマンドが便利</a>
</li>
</ul>