2012-08-23 8 views
5

私はJenkinsをRedHatのLinuxボックスで実行しています。私のビルドは、セレンテストを含むmaven 2.2.1プロジェクトです。うまく動作するubuntuボックスで同じ設定ができましたが、私のredhat VMで同じトップレベルのmavenコマンドを呼び出そうとすると、次のエラーが発生します。私はジェンキンスmavenを実行しているときにJenkinsがアクセスを拒否されました

sudo service jenkins restart 

再起動しましたが、それが解消されない。この問題を解決するための試みにおいて

org.apache.maven.surefire.booter.SurefireExecutionException: Unable to create file for report: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied); nested exception is java.io.FileNotFoundException: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied); nested exception is 
org.apache.maven.surefire.report.ReporterException: Unable to create file for report: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied); nested exception is java.io.FileNotFoundException: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied) 
org.apache.maven.surefire.report.ReporterException: Unable to create file for report: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied); nested exception is   
java.io.FileNotFoundException: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied) 
java.io.FileNotFoundException: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied) 
at java.io.FileOutputStream.open(Native Method) 
at java.io.FileOutputStream.<init>(FileOutputStream.java:212) 
at java.io.FileOutputStream.<init>(FileOutputStream.java:165) 
at java.io.FileWriter.<init>(FileWriter.java:90) 
at org.apache.maven.surefire.report.AbstractFileReporter.testSetStarting(AbstractFileReporter.java:57) 
at org.apache.maven.surefire.report.ReporterManager.testSetStarting(ReporterManager.java:219) 
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138) 
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) 
at org.apache.maven.surefire.Surefire.run(Surefire.java:177) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) 
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] There are test failures. 

。誰もこれに前に実行?

+4

ジェンキンスが書き込みしようとしているディレクトリの所有者/権限を確認してください。 Jenkinsが実行しているユーザは、そのディレクトリに書き込むことができなければなりません。そうしないと、許可が拒否されます。 – renab

+0

@renabあなたの提案は、jenkinsが許可エラーを越えるのを許しました。しかし、ubuntuとredhatの間の許可は、エラーが発生したときと同じです。再度問題のファイルへのchmod a + rwは回避策かもしれませんが、まだ何かが欠けているようです。 – OrwellHindenberg

+0

UbuntuとRed Hatの両方のボックスでJenkinsが同じユーザーで動作していますか? もしそうなら、ls -lrtは、Jenkinsユーザーが書き込みしようとしているディレクトリを所有していることを示していますか? オーナー権限は、所有者がディレクトリに書き込むための権限が正しい可能性があるので、この場合の権限と同じくらい重要ですが、ユーザーの書き込みが所有者でない場合、権限が拒否される可能性があります。 – renab

答えて

3

ls -alを使用してファイルのアクセス許可を表示します。

詳細については、this linkを参照してください。

Jenkinsが実行されているユーザーの名前を確認するには、サービス起動スクリプトを読んでください。

less /etc/init.d/jenkins

あなたは、このようなtomcat6などのJava EEコンテナに手動でインストールジェンキンスを有することができます。 このような場合は、あなたが使用する必要があります。

less /etc/init.d/tomcat6

関連する問題