2017-04-26 9 views
1

私はジェンキンを使ってパイプラインのGroovyスクリプトを実行しています。最初のステップの1つは、チェックアウトプラグインによるチェックアウトです。チェックアウトは<workspace>/source-repoフォルダーに行われます。私は(それはLinuxマシンである)のlsofを行う際jenkinsで削除されたファイルのオープンファイルハンドラがたくさんあります

は今、私はこのようなオープンファイルハンドラの多くを得る:

java  16932  1000 567r  REG    202,80   91 7996215 <workspace>/[email protected]/durable-a06b8b8d/output.txt (deleted) 

彼らは時間をかけて構築している...なぜ?そして私は何ができますか?

+0

私もこの問題を抱えています。それを解決するどんな運?私にとっては、5分ごとに実行される定期的な仕事があります。これらのファイルハンドルはちょうど上に上がっていて、結局オープンファイルがなくなり、Jenkinsを再起動する必要があります。なぜこれらが閉じていないのか分かりません。 – Kieran

+0

はい、回避策が見つかりました。私の答えを見てください。 – Nathan

答えて

1

この問題を発見したのは、shreturnStdout: trueとの組み合わせに関連しているようです。だから私はこのような呼び出しを置き換える:

sh "command > output.txt" 
def ret = readFile "output.txt" 
sh "rm output.txt" 

def ret = sh script: "command", returnStdout: true 

は少しハック感じ、今は元気です。

+0

ありがとうございました。これはまた、犯人であったshのreturnStdout属性であることが分かったので、私が取り上げたアプローチです。 https://groups.google.com/forum/#!topic/jenkinsci-users/j8CfFDx25Bg ジラのこのチケットにコメントを付けて投票する価値がありますあなたの経験にコメントをつける: https://issues.jenkins-ci.org/browse/JENKINS-43639?focusedCommentId=302114&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-302114 – Kieran

関連する問題