自升级到 Jenkins 1.502 以来,远程 UNIX 从属设备上出现“远程文件操作失败”

自升级到 Jenkins 1.502 以来,远程 UNIX 从属设备上出现“远程文件操作失败”

自升级到 Jenkins 1.502 以来,通过 SSH 启动的远程 UNIX 从属服务器上使用 git 的任何作业都会失败,

hudson.util.IOException2: remote file operation failed: /var/ciworkspaces/web/workspace/DFT.BA Live at hudson.remoting.Channel@14930f2a:web-pampas
    at hudson.FilePath.act(FilePath.java:861)
    at hudson.FilePath.act(FilePath.java:838)
    at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:956)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1123)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1342)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:683)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:588)
    at hudson.model.Run.execute(Run.java:1568)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:237)
Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@3e2c693b
    at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
    at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
    at hudson.remoting.Channel.call(Channel.java:671)
    at hudson.FilePath.act(FilePath.java:854)
    ... 11 more
Caused by: java.io.NotSerializableException: hudson.model.FreeStyleBuild
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
    at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
    at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
    ... 14 more
Finished: FAILURE

我找到了几页关于这个错误的资料(),但对于它是什么或如何修复它尚无定论。

这发生在所有使用 SSH 启动的从属服务器上,或者Launch slave via execution of command on the Master在使用 git 时(可能是其他 SCM,由于我们只使用 git,因此未进行测试)。没有附加 git repos 的作业可以正常工作。

我已经验证了文件权限,并且当用户slave.jar运行时,我可以使用 CD 进入工作区目录,创建作业目录并克隆 git repo。我尝试删除所有复制过来的 *.jar 文件并重新启动从属服务器,但它们仍然不起作用。

自从从 1.454 升级到 1.502 以来只发生过一次这种情况,之前从属服务器工作正常,没有任何问题。

其他可能有用的信息;

[sr@pampas ~]$ cat /etc/redhat-release 
CentOS release 6.3 (Final)
[sr@pampas ~]$ java -version
java version "1.7.0_09-icedtea"
OpenJDK Runtime Environment (rhel-2.3.5.3.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

主从服务器都一样

答案1

由于 Jenkins 几乎每周都会发布,因此也可能会出现错误。

您应该简单地回滚到旧版本或等待下一个版本。

检查他们的错误跟踪器可能有助于找到解决方法,并帮助尽早解决问题。

相关内容