Jenkinsのjobが正常終了に見えてDirectoryNotEmptyException を出してた・・・
昨日、今日とJenkinsが起動しているのに
VC++側をSVNにコミットしたにも関わらず
コミットをトリガーとしたジョブの成否を告げる音が鳴らない。
なんでだろ?と思ってJenkinsのCppCheckのジョブを見たら
正常終了しているっぽいんだけど
CppCheckの結果やその後のステップ数グラフが出ていない。
調べるとJenkinsのビルド出力結果に
java.nio.file.DirectoryNotEmptyExceptionというのが出てた。![]()
jobs\ジョブ名\lastStablelastSuccessful failed
jobs\ジョブ名\lastStable failed
というのでディレクトリが空でないと出ているみたい。
確かにいろいろとファイルがある・・・
Java側でエラーが出られてもJava側なんぞ変更していない。
よくわからないのでGoogle先生に聞いてみた。
「Jenkinsのビルド出力結果にjava.nio.file.DirectoryNotEmptyException」
という記事が、ズバリ該当していた。![]()
どうやらlastSuccessfulは本来シンボリックリンクで管理されるものらしく
builds/lastSuccessfulというディレクトリに対するシンボリックリンクになっていました
自分がJenkinsをインストールした際に前に使っていたジョブの設定を
そのままインポートしたくてjobs配下のファイルを
事前にバックアップしておきました
そして、普通に.exeファイルからJenkinsをインストール後
jobs配下のファイルやディレクトリを
ごそっとバックアップしておいたものに置き換えました
おそらく、この置き換えの動作を行ったときに
シンボリックリンクからディレクトリに変わってしまったのだと思います
かげさんもバックアップから戻したことがあって
どうやらその頃から、この問題が起きてたみたい・・・
今度からバックアップから復元する時は
last~関連フォルダは消してからって手順が良さそうですね。
実は、この解決前にJava側だからJenkinsのバージョンとかか?
と思ってJenkinsのバージョンアップをしようとして
どうやら失敗したらしく、そのリカバリのほうが数倍大変だった・・・![]()
まぁ、リカバリ手順は過去のブログ記事にあったのですが
断片的なところもあったのがキツかったかな。
とりあえず、今日中に全部終わったから良かった。![]()
| 【固定リンク】 | 【コメント (0)】 | 【トラックバック (0)】

