Desde a atualização para o Jenkins 1.502, qualquer trabalho usando o git em escravos UNIX remotos lançados pelo SSH falha com
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
Encontrei algumas páginas sobre esse erro ( um , dois ) mas nada conclusivo sobre o que é ou como consertá-lo.
Isso está acontecendo em todos os escravos lançados com SSH ou Launch slave via execution of command on the Master
ao usar o git (possivelmente outros SCMs, não testados porque usamos somente o git). Trabalhos que não têm git repos anexados funcionam bem.
Eu verifiquei as permissões do arquivo e, como o CD do usuário slave.jar
está em execução como eu posso para o diretório da área de trabalho, crie o diretório da tarefa e clone o repositório git. Eu tentei excluir todos os arquivos * .jar copiados e re-lançando os escravos, mas eles ainda não funcionam.
Isso só está acontecendo desde a atualização de 1.454 para 1.502, os escravos funcionaram corretamente antes sem problemas.
Outras informações talvez úteis;
[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)
Isto é o mesmo no mestre e nos escravos