« 今更ながらMSBuildを使ったバッチを作った | トップページ | VC++の__debugbreak()が中々便利だ »

2016.02.21

Jenkinsのjobが正常終了に見えてDirectoryNotEmptyException を出してた・・・

| |コメント (0)|トラックバック (0)

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

昨日、今日と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)

このエントリーへのリンク

このエントリーのリンクを入れるHTML:

トラックバック

この記事へのトラックバックの一覧です: Jenkinsのjobが正常終了に見えてDirectoryNotEmptyException を出してた・・・:

コメント

このブログの新着コメントをRSSリーダに登録する為のxml




←名前とメールアドレスは必須です。
URLも記入すれば、URLのみが公開されます。
メールアドレスのみですと、メールアドレスが公開されてしまいますので、御注意ください。

↓コメント本文では、「a href」「b」「i」「br/」「p」「strong」「em」「ul」「ol」「li」「blockquote」「pre」のタグが使えます。絵文字をクリックすると、本文にタグを挿入できます。