2015-04-11 1 views
1

Дженкинс строить работает на Windows, ведомых броски следующего сообщения об ошибке при запуске сборки:Дженкинс не может запустить процесс на Windows, Рабе

Java.io.IOException: Cannot run program "tf" (in directory "c:\Jenkins\workspace\ProjectName-WindowsPhone"): CreateProcess error=87, The parameter is incorrect 
    at java.lang.ProcessBuilder.start(Unknown Source) 

Что я пробовал: 1. указав полный путь к tf.exe 2. Указывая путь к TF.exe в переменной PATH 3. установка PATH =. на этапе инициализации процесса сборки 4. настройки CLASSPATH =. на этапе инициализации процесса сборки 5. установка CLASSPATH =. как переменная среды на подчиненном устройстве.

tf.exe разрешен в соответствии с потребителями услуг Дженкинс работорговли в любом каталоге, так что это не проблема пути к tf.exe

Цените любую помощь или мысли о настройке Дженкинс с Windows, Раба и TFS.

Полный журнал ошибок ниже (да, это Java stack trace;))

 $ tf workspaces -format:brief -server:https://cloudtfsname.visualstudio.com/DefaultCollection/ ******** 
    java.io.IOException: Cannot run program "tf" (in directory "c:\Jenkins\workspace\ProjectName-WindowsPhone"): CreateProcess error=87, The parameter is incorrect 
     at java.lang.ProcessBuilder.start(Unknown Source) 
     at hudson.Proc$LocalProc.<init>(Proc.java:244) 
     at hudson.Proc$LocalProc.<init>(Proc.java:216) 
     at hudson.Launcher$LocalLauncher.launch(Launcher.java:803) 
     at hudson.Launcher$ProcStarter.start(Launcher.java:381) 
     at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1136) 
     at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1101) 
     at hudson.remoting.UserRequest.perform(UserRequest.java:118) 
     at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
     at hudson.remoting.Request$2.run(Request.java:328) 
     at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 
     at java.util.concurrent.FutureTask.run(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at hudson.remoting.Engine$1$1.run(Engine.java:63) 
     at java.lang.Thread.run(Unknown Source) 
     at ......remote call to WindowsSlave(Native Method) 
     at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1356) 
     at hudson.remoting.UserResponse.retrieve(UserRequest.java:221) 
     at hudson.remoting.Channel.call(Channel.java:752) 
     at hudson.Launcher$RemoteLauncher.launch(Launcher.java:916) 
     at hudson.Launcher$ProcStarter.start(Launcher.java:381) 
     at hudson.plugins.tfs.TfTool.execute(TfTool.java:99) 
     at hudson.plugins.tfs.model.Server.execute(Server.java:120) 
     at hudson.plugins.tfs.model.Workspaces.getListFromServer(Workspaces.java:38) 
     at hudson.plugins.tfs.model.Workspaces.populateMapFromServer(Workspaces.java:50) 
     at hudson.plugins.tfs.model.Workspaces.exists(Workspaces.java:76) 
     at hudson.plugins.tfs.actions.CheckoutAction.checkout(CheckoutAction.java:36) 
     at hudson.plugins.tfs.TeamFoundationServerScm.checkout(TeamFoundationServerScm.java:176) 
     at hudson.model.AbstractProject.checkout(AbstractProject.java:1270) 
     at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:609) 
     at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) 
     at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:531) 
     at hudson.model.Run.execute(Run.java:1750) 
     at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
     at hudson.model.ResourceController.execute(ResourceController.java:89) 
     at hudson.model.Executor.run(Executor.java:240) 
    Caused by: java.io.IOException: CreateProcess error=87, The parameter is incorrect 
     at java.lang.ProcessImpl.create(Native Method) 
     at java.lang.ProcessImpl.<init>(Unknown Source) 
     at java.lang.ProcessImpl.start(Unknown Source) 
     at java.lang.ProcessBuilder.start(Unknown Source) 
     at hudson.Proc$LocalProc.<init>(Proc.java:244) 
     at hudson.Proc$LocalProc.<init>(Proc.java:216) 
     at hudson.Launcher$LocalLauncher.launch(Launcher.java:803) 
     at hudson.Launcher$ProcStarter.start(Launcher.java:381) 
     at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1136) 
     at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1101) 
     at hudson.remoting.UserRequest.perform(UserRequest.java:118) 
     at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
     at hudson.remoting.Request$2.run(Request.java:328) 
     at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 
     at java.util.concurrent.FutureTask.run(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at hudson.remoting.Engine$1$1.run(Engine.java:63) 
     at java.lang.Thread.run(Unknown Source) 

ответ

0

«tf.exe разрешен под пользователем службы Дженкинс работорговли в любом каталоге, так что это не проблема пути к TF.exe "

Вы не совсем понимаете, как работают дженкинсы. Фактически единственные переменные env, которые понимаются, являются глобальными, и пользователь не рассматривается для чистых сборок.

В Jenkins нет никакой магии. Вы должны были попытаться установить PATH как этап сборки, RESTART slave, а затем запустить задачу.

+0

Я настройка глобальной переменной PATH. Это означает, что при любом пользователе в этой системе в любой папке ни при каких обстоятельствах tf.exe будет разрешен и доступен для выполнения. –

+0

Пожалуйста, распечатайте переменную PATH как задание jenkins и вставьте ее здесь. – stanjer

+0

'OS = Windows_NT Путь = C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files (x86) \ Microsoft SDK \ TypeScript \ 1.0 \; c: \ git \ bin \; C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \; PATHEXT = .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC' или в качестве снимка экрана https://www.dropbox.com/ s/wwpytiv2mpglsfl/Скриншот% 202015-04-13% 2012.59.20.png? dl = 0 –

0

еще один намек для всех, кто сталкивается с этим:
есть некоторые известные проблемы с плагинами дженкинсов, вызывающими это.
см JENKINS-22183, JENKINS-45128 или JENKINS-33159, например ...

или попробовать Jenkins issue search

Смежные вопросы