• このエントリーをはてなブックマークに追加

今週は、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 複数実行禁止

 

参考サイト