ジェンキンスは、プロジェクトをビルドするためにジョブを移行java.nio.file.DirectoryNotEmptを表示されます

1、移行プロセスに関するすべての話の最初の
ここでは1)新しいデプロイメント環境ジェンキンス継続的な統合環境は、詳細にインストールプロセスを説明していない;
2)直接ジェンキンスは、新しい環境を得るために、SCPの方法で送信された古いディレクトリホーム下のジョブディレクトリを取得します。

次のように新しいサービス環境ジェンキンスを起動するには、移行が完了した後、コンソール出力を構築するためのプロジェクトです。

ジェンキンスは、プロジェクトをビルドするためにジョブを移行java.nio.file.DirectoryNotEmptを表示されます

最後に、コンソール出力を見て、プロジェクトの成功は、あまりにも構築することですが、動作には影響しません。

2、错误原因
通过Google查找得知有人提交了这个issues,This started happening on a new Jenkins server that a teammate was trying to setup by cloning an existing one, and I found out that he used scp -r to copy the whole working tree and that resulted in the lastSuccessful and lastStable soft-links to get converted to physical directories. I guess Jenkins was trying to remove it like it is a file (which a soft-link is), but since it turned out to be a directory that is not empty, it is causing this exception. When you remove/rename these directories, it clears the path for Jenkins to recreate the soft-links thus solving the problem. 链接详情请移步到:https://issues.jenkins-ci.org/browse/JENKINS-21330
翻译如下:
それは、私は彼が物理ディレクトリにlastSuccessfulとlastStableソフトリンクにつながるツリー全体をコピーするためのscp -rを使用した、チームメイトが設定したジェンキンスは、既存のサーバーのクローンを作成しようとした新しいサーバー上で開始しました。私はジェンキンスが、それはファイル(ソフトリンク)であるかのように、それを削除しようとしたが、それが空でないディレクトリであることが判明したので、それは例外につながったと思います。あなたはこれらのディレクトリの名前を変更/削除すると、それが再作成されますソフト・リンクジェンキンスは、問題を解決するために、パスをクリアします。

3は、問題を解決するために
、我々は問題は問題が解決得ることは非常に簡単です知っているよりも、新しい環境にログインし、すべてのアイテムがlastSuccessfulとlastStableカタログを持って削除します。

find jobs/ -type d \( -name "lastSuccessful" -o -name "lastStable" \)  -exec rm -rf {} \;

実装が完了したが、異常の上に再び発生しませんした後、再度プロジェクトをビルドします。

おすすめ

転載: blog.51cto.com/darren88/2401220