JenkinsからMacOS Xのディスクユーティリティを実行する

JenkinsからWindowsのクリーンアップ処理を実行する方法を自慢していたら、MacOS X版はどうなっているのか?と突っ込まれたので作ってみた。と言っても、ディスクユーティリティのコマンドを呼び出すだけなので、ジョブとしては下記を呼び出すだけで良い。(Jenkinsは自分のアカウントで実行中)

diskutil repairPermissions /
diskutil verifyVolume /

実際の動作結果はこちら。

[workspace] $ /bin/sh -xe /var/folders/96/t8w4shd534134j2rgh1v0xh80000gn/T/hudson2673336148555595932.sh
+ diskutil repairPermissions /
Started verify/repair permissions on disk0s2 Macintosh_HD
Finished verify/repair permissions on disk0s2 Macintosh_HD
+ diskutil verifyVolume /
Started file system verification on disk0s2 Macintosh_HD
Checking file system
Performing live verification
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Incorrect block count for file svn_2013-01-12_08-47-55.svn.gz
(It should be 7440 instead of 95941)
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Volume bitmap needs minor repair for orphaned blocks
Checking volume information
Invalid volume free block count
(It should be 25973221 instead of 25884720)
The volume Macintosh_HD was found corrupt and needs to be repaired
Error: -69845: File system verify or repair failed
Underlying error: 8: POSIX reports: Exec format error
Build step '??????' marked build as failure
Finished: FAILURE

いきなり問題が見つかったので少々焦る。手動操作でディスクを修復した後、再実行させたらもちろん問題は見つからなくなった。

[workspace] $ /bin/sh -xe /var/folders/96/t8w4shd534134j2rgh1v0xh80000gn/T/hudson8121348645267259492.sh
+ diskutil repairPermissions /
Started verify/repair permissions on disk0s2 Macintosh_HD
Finished verify/repair permissions on disk0s2 Macintosh_HD
+ diskutil verifyVolume /
Started file system verification on disk0s2 Macintosh_HD
Checking file system
Performing live verification
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume Macintosh_HD appears to be OK
Finished file system verification on disk0s2 Macintosh_HD
Finished: SUCCESS

前回、ディスクユーティリティを実行したのはいつだっけ?と忘れがちな人にはお勧めなジョブかも知れない。