Разрешението е отказано при опит за изпълнение на behat в jenkins

Опитвам се да изпълня behat в моя jenkins сървър (подобно на това).

Моят 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, Keine Berechtigung в java.lang.UNIXProcess.forkAndExec(Native Method) в java.lang.UNIXProcess.(UNIXProcess.java:135) в java.lang.ProcessImpl.start( ProcessImpl.java:130) на java.lang.ProcessBuilder.start(ProcessBuilder.java:1022) ... още 23

(„Keine Berechtigung“ е немски за „Отказано разрешение“) Опитах се да chmod файла behat до 777, но докато тегля от хранилище на Mercurial, промените ми изглежда винаги се отменят.

Имате ли идеи как да реша проблема си?


person ACNB    schedule 08.10.2013    source източник


Отговори (1)


Добавяне на задача за предварителна компилация:

chmod 777 /PATH_TO_BEHAT/bin/behat

person Electrawn    schedule 08.10.2013
comment
Това работи, благодаря. Алтернатива изглежда е да инсталирате behat от pear.behat.org и да използвате тези скриптове. - person ACNB; 11.10.2013
comment
Работи и за различен скрипт (gradlew). - person alfoks; 04.12.2015