2013-10-08 1 views
0

내 젠킨스 서버에서 behat를 실행하려고합니다 (this과 유사). jenkins에서 behat를 실행하려고하면 권한이 거부되었습니다.

내 빌드 XML :

<target name="behat" description="Execute the behat tests"> 
    <exec command="${basedir}/bin/behat --profile jenkins -c ${basedir}/config/behat.yml" />  
</target> 

(예, 빈은 ./bin에 있으며 ./vendor/bin되지 않음)

이 오류가 얻을 그러나 :

var/lib/jenkins/jobs/defTest/workspace/build.xml:116: Execute failed: java.io.IOException: Cannot run program "/var/lib/jenkins/jobs/defTest/workspace/bin/behat": error=13, Keine Berechtigung 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041) 
at java.lang.Runtime.exec(Runtime.java:617) 
at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:862) 
at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:481) 
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:495) 
at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:631) 
at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:672) 
at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:498) 
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
at org.apache.tools.ant.Task.perform(Task.java:348) 
at org.apache.tools.ant.Target.execute(Target.java:390) 
at org.apache.tools.ant.Target.performTasks(Target.java:411) 
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
at org.apache.tools.ant.Main.runBuild(Main.java:809) 
at org.apache.tools.ant.Main.startAnt(Main.java:217) 
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 

을 원인 : java.io.IOException : error = 13, KeynoteException 에서 java.lang.UNIXProcess.forkAndExec (기본 메소드) at java.lang.UNIXProcess. (UNIXProcess.java:135)java.lang.ProcessImpl.start (ProcessImpl.java:130) java.lang.ProcessBuilder.start (ProcessBuilder.java:1022) 에서 ... 23에서 6,는

("Keine Berechtigung는"독일어 더 "Permission denied") 나는 behat 파일을 777로 chmod하려고했지만, 나는 수은 저장소에서 끌어 올 때마다 나의 변화가 언제나 취소 될 것 같다.

내 문제를 해결하는 방법에 대한 아이디어가 있습니까?

답변

2

는 사전 빌드 쉘 작업을 추가합니다. alternativ는 http://pear.behat.org/에서 behat를 설치하고이 스크립트를 사용하는 것으로 보입니다.
+1

이 작동, 감사 behat/

chmod를 777/PATH_TO_BEHAT/빈 : – ACNB

+0

다른 스크립트로도 작업했습니다 (gradlew). – alfoks