我试图将我的Windows奴隶作为服务连接到詹金斯2.88 . 我这样做是通过webstart启动slave,然后运行jenkins-slave.exe安装来安装服务 . 当第二次运行一个作业,从svn检查出来时我得到以下错误:
Started by user XXX
Building remotely on Tobias_testnod (Excel) in workspace <PATH_TO_WORKSPACE>
Cleaning local Directory XXX/YYY
java.nio.file.DirectoryNotEmptyException: C:\<path_>\.svn\pristine
at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(Unknown Source)
at java.nio.file.Files.deleteIfExists(Unknown Source)
at hudson.Util.tryOnceDeleteFile(Util.java:290)
at hudson.Util.tryOnceDeleteRecursive(Util.java:370)
at hudson.Util.tryOnceDeleteContentsRecursive(Util.java:389)
at hudson.Util.tryOnceDeleteRecursive(Util.java:369)
at hudson.Util.tryOnceDeleteContentsRecursive(Util.java:389)
at hudson.Util.deleteContentsRecursive(Util.java:225)
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from <HOST>
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1655)
at hudson.remoting.UserResponse.retrieve(UserRequest.java:308)
at hudson.remoting.Channel.call(Channel.java:904)
at hudson.FilePath.act(FilePath.java:986)
at hudson.FilePath.act(FilePath.java:975)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:902)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:838)
at hudson.scm.SCM.checkout(SCM.java:495)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1202)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1724)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:421)
Caused: java.io.IOException: Unable to delete <PATH>. Tried 3 times (of a maximum of 3) waiting 0,1 sec between attempts.
at hudson.Util.deleteContentsRecursive(Util.java:230)
at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:81)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:1001)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:977)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:953)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2760)
at hudson.remoting.UserRequest.perform(UserRequest.java:205)
at hudson.remoting.UserRequest.perform(UserRequest.java:52)
at hudson.remoting.Request$2.run(Request.java:356)
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:98)
at java.lang.Thread.run(Unknown Source)
Caused: java.io.IOException: remote file operation failed: <PATH_TO_WORKSPACE> at hudson.remoting.Channel@1fe2698:JNLP4-connect connection from <HOST>
at hudson.FilePath.act(FilePath.java:993)
at hudson.FilePath.act(FilePath.java:975)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:902)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:838)
at hudson.scm.SCM.checkout(SCM.java:495)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1202)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1724)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:421)
Archiving artifacts
该服务作为我的用户运行,以便它具有所有必要的权限 . 现在我的问题是,jenkins是否正确支持从服务运行jenkins-slave jar的方法 . 例如,我可以从通过webstart启动时出现的窗口中安装它,因为它没有足够的权限 . 相反,我必须从以管理员身份运行的命令行手动安装它 .
那么服务选项是否真的正常运行?或者我应该放弃它并从命令壳连接?如果有人确切知道什么是错的,我当然会很高兴有任何关于错误的帮助:) . 我在主服务器和从服务器上运行java 1.8 .