Używam Jenkinsa na pudełku z linkiem redhat. Moja kompilacja to projekt maven 2.2.1, który zawiera testy selenu. Mam takie same ustawienia na pudełku ubuntu, które działa dobrze, ale kiedy próbuję wywołać to samo polecenie maven najwyższego poziomu na mojej maszynie Redhat VM, otrzymuję następujący błąd.Jenkins otrzymuje błędy odmowy uprawnień podczas uruchamiania programu
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.
Próbując rozwiązać ten problem, ja już restart Jenkinsa
sudo service jenkins restart
ale nie ustąpi. Czy ktoś już kiedyś to robił?
Sprawdź właściciel/uprawnienia katalogu Jenkins próbuje pisać. Użytkownik, na którym działa Jenkins, musi mieć możliwość zapisu do tego katalogu lub otrzymasz błąd odmowy zgody. – renab
@Jeśli zgłosisz swoją sugestię, zezwalasz jenkinsowi na pominięcie błędów uprawnień, ale uprawnienia między polami ubuntu i redhat były tak samo, gdy otrzymywałem błąd. Znowu chmod a + rw do plików, o których mowa, może być pracą dookoła, chociaż wydaje się, że nadal czegoś brakuje. – OrwellHindenberg
Czy Jenkins działa pod tym samym użytkownikiem w pudełkach Ubuntu i Red Hat? Jeśli tak, to czy ls-lrt pokazuje, że użytkownik Jenkins jest właścicielem katalogów, do których próbuje pisać? Własność jest tak samo ważna jak uprawnienia w tym przypadku, ponieważ uprawnienia mogą być poprawne dla właściciela, aby zapisywać do katalogu, ale jeśli pisanie przez użytkownika nie jest właścicielem, można odmówić mu pozwolenia. – renab