Jenkins想在Mac上使用vncserver

时间:2013-08-19 13:52:51

标签: android jenkins

我想在Mac mini上为Android CI设置Jenkins本地服务器。我配置了整个东西,但是我遇到了vncserver的一些问题,当我尝试通过Jenkins运行构建时它给了我一个错误:

Started by user asd
Building in workspace /Users/Shared/Jenkins/Home/jobs/mavenTest/workspace
Checkout:workspace / /Users/Shared/Jenkins/Home/jobs/mavenTest/workspace - hudson.remoting.LocalChannel@66dc67ca
Using strategy: Default
Last Built Revision: Revision bf4b03c150753e7f8de2fbb4b465f7512fd3bd3c (origin/HEAD, origin/master)
Fetching changes from 1 remote Git repository
Fetching upstream changes from origin
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Seen 2 remote branches
Commencing build of Revision bf4b03c150753e7f8de2fbb4b465f7512fd3bd3c (origin/HEAD, origin/master)
Checking out Revision bf4b03c150753e7f8de2fbb4b465f7512fd3bd3c (origin/HEAD, origin/master)
Warning : There are multiple branch changesets here
Starting xvnc
[workspace] $ vncserver :66 -localhost -nolisten tcp
ERROR: Failed to parse POMs
java.io.IOException: Cannot run program "vncserver" (in directory "/Users/Shared/Jenkins/Home/jobs/mavenTest/workspace"): error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
    at hudson.Proc$LocalProc.<init>(Proc.java:244)
    at hudson.Proc$LocalProc.<init>(Proc.java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:773)
    at hudson.Launcher$ProcStarter.start(Launcher.java:353)
    at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:90)
    at hudson.plugins.xvnc.Xvnc.setUp(Xvnc.java:74)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:630)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
    at hudson.model.Run.execute(Run.java:1603)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:506)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:247)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
    at java.lang.ProcessImpl.start(ProcessImpl.java:130)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
    ... 12 more
Finished: FAILURE

我从这里安装了vnc服务器https://www.realvnc.com/download/vnc/但它没有做任何事情,因为我仍然有这个错误。怎么办?

1 个答案:

答案 0 :(得分:2)

为何失败

您已经安装了Xvnc插件,它确实需要一个vncserver。 Jenkins默认尝试运行vncserver命令,因此期望它在PATH中。您安装的VNC服务器:

  1. 未安装在您的路径
  2. 未命名为vncserver
  3. 所以它不起作用。

    检查您的要求!

    你需要运行vncserver吗?通常这是headless displays所必需的,但你的mac mini可能会附带一个屏幕,所以你可能只是禁用该服务器上的Xvnc插件......

    让vncserver无论如何都要运行

    如果您确实需要插件,请配置commandline选项以启动您安装的vncserver,或者找到满足上述2个要求(命令名称和PATH)的vnc服务器。

    注意:您安装的产品包含VNC客户端和服务器。 The server requires a license and an activation。而服务器usually runs as a daemon,所以不需要有一个插件来启动它......