Jenkins windows ssh奴隶访问被拒绝

时间:2015-08-13 13:05:00

标签: java jenkins continuous-integration

我想在Windows机器上构建我的项目,所以我在那里创建了一个奴隶。首先我们尝试了标准的java应用程序运行器,但我们的构建设置了自己的环境,它总是最终删除现有的Java安装,没有给出任何正确的错误消息,但是失败了。然后我切换到使用Cygwin sshd并让Jenkins通过ssh登录。这适用于连接(就像标准方法一样),但是当我运行构建时,它再次失败以安装jdk。我最终手动运行以下命令:

tab.tpl.html

这与Jenkins运行时相同,但没有/ s(静默)选项。现在当我运行构建时,我收到以下错误:

C:\jenkins\tools\hudson.model.JDK\Latest\jdk.exe ADDLOCAL="ToolsFeature" REBOOT=ReallySuppress INSTALLDIR=C:\jenkins\tools\hudson.model.JDK\Latest /L

当然我尝试了一切:

以不同的(管理员)用户身份运行sshd 检查了这里提到的每个错误:

这里

在这里

没有任何作用。你有提示在哪里看?

更新:

与此同时,我通过在Jenkins设置中停用“自动安装jdk”选项,git clone work和gradle启动,设法在构建过程中进一步了解。但是,现在JAVA_HOME环境变量以某种方式无法被从属设备访问(尽管我们甚至尝试在.bashrc中设置它,只是为了确定)。因此构建失败并显示此消息“:

    Building remotely on jenkins-slave-win64 (Johnny5) (windows) in workspace C:\jenkins\workspace\continuous.xill
java.io.IOException: remote file operation failed: C:\jenkins\tools\hudson.model.JDK\Latest at hudson.remoting.Channel@200354fa:jenkins-slave-win64 (Johnny5): java.nio.file.AccessDeniedException: C:\jenkins\tools\hudson.model.JDK\Latest\bin\java.exe
    at hudson.FilePath.act(FilePath.java:987)
    at hudson.FilePath.act(FilePath.java:969)
    at hudson.FilePath.deleteRecursive(FilePath.java:1171)
    at hudson.tools.JDKInstaller.performInstallation(JDKInstaller.java:130)
    at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:68)
    at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:108)
    at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:206)
    at hudson.model.JDK.forNode(JDK.java:132)
    at hudson.model.AbstractProject.getEnvironment(AbstractProject.java:360)
    at hudson.model.Run.getEnvironment(Run.java:2234)
    at hudson.model.AbstractBuild.getEnvironment(AbstractBuild.java:935)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1036)
    at hudson.scm.SCM.checkout(SCM.java:485)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1277)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
    at hudson.model.Run.execute(Run.java:1741)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:381)
Caused by: java.nio.file.AccessDeniedException: C:\jenkins\tools\hudson.model.JDK\Latest\bin\java.exe
    at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
    at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
    at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
    at java.nio.file.Files.delete(Files.java:1126)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at hudson.Util.deleteFile(Util.java:247)

1 个答案:

答案 0 :(得分:0)

对于“UPDATE”之后的构建错误,我认为你必须在Manage Jenkins>下添加一个JDK。配置系统> JDK或在Manage Jenkins>下的较新版本全局工具配置> JDK