代码之家  ›  专栏  ›  技术社区  ›  Tai

Docker.Push-In-Jenkins的链接错误和JNLP4连接问题不满意

  •  0
  • Tai  · 技术社区  · 6 年前

    当试图运行 docker.push 在由x86 Jenkins主机调用的PPC64LE Jenkins从机上,发生以下错误。

    从远程调用JNLP4连接/

    java.lang.unsuspeiedlinkerror:/tmp/libnetty-transport-native-epoll35546627560640699.so:/tmp/libnetty-transport-native-epoll35546627560640699.so:无法打开共享对象文件:没有这样的文件或目录(可能的原因:can_t load amd 64 bit.so在Power PC 64位平台上

    整原木

    Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from IP1/IP2:PORT
            at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
            at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
            at hudson.remoting.Channel.call(Channel.java:955)
            at org.jfrog.hudson.pipeline.docker.utils.DockerAgentUtils.getImageIdFromAgent(DockerAgentUtils.java:303)
            at org.jfrog.hudson.pipeline.steps.DockerPushStep$Execution.run(DockerPushStep.java:122)
            at org.jfrog.hudson.pipeline.steps.DockerPushStep$Execution.run(DockerPushStep.java:86)
            at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
            at hudson.security.ACL.impersonate(ACL.java:290)
            at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    java.lang.UnsatisfiedLinkError: /tmp/libnetty-transport-native-epoll3535546627560640699.so: /tmp/libnetty-transport-native-epoll3535546627560640699.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a Power PC 64-bit platform)
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1086)
        at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:214)
        at io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:269)
        at io.netty.channel.epoll.Native.<clinit>(Native.java:64)
        at io.netty.channel.epoll.IovArray.<clinit>(IovArray.java:57)
        at io.netty.channel.epoll.EpollEventLoop.<init>(EpollEventLoop.java:62)
        at io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:130)
        at io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:35)
        at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84)
        at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:58)
        at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:47)
        at io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:58)
        at io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:100)
        at io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:87)
        at io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:64)
        at com.github.dockerjava.netty.NettyDockerCmdExecFactory$UnixDomainSocketInitializer.init(NettyDockerCmdExecFactory.java:220)
        at com.github.dockerjava.netty.NettyDockerCmdExecFactory.init(NettyDockerCmdExecFactory.java:196)
        at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:161)
        at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:45)
        at org.jfrog.hudson.pipeline.docker.utils.DockerUtils.getDockerClient(DockerUtils.java:326)
        at org.jfrog.hudson.pipeline.docker.utils.DockerUtils.getImageIdFromTag(DockerUtils.java:37)
        at org.jfrog.hudson.pipeline.docker.utils.DockerAgentUtils$6.call(DockerAgentUtils.java:305)
        at org.jfrog.hudson.pipeline.docker.utils.DockerAgentUtils$6.call(DockerAgentUtils.java:303)
        at hudson.remoting.UserRequest.perform(UserRequest.java:212)
        at hudson.remoting.UserRequest.perform(UserRequest.java:54)
        at hudson.remoting.Request$2.run(Request.java:369)
        at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
    Caused: java.io.IOException: Remote call on JNLP4-connect connection from IP1/IP2:PORT failed
        at hudson.remoting.Channel.call(Channel.java:961)
        at org.jfrog.hudson.pipeline.docker.utils.DockerAgentUtils.getImageIdFromAgent(DockerAgentUtils.java:303)
        at org.jfrog.hudson.pipeline.steps.DockerPushStep$Execution.run(DockerPushStep.java:122)
        at org.jfrog.hudson.pipeline.steps.DockerPushStep$Execution.run(DockerPushStep.java:86)
        at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
        at hudson.security.ACL.impersonate(ACL.java:290)
        at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
    Finished: FAILURE
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Tai    6 年前

    解决方法不是使用Jenkins中提供的语法,而是将docker命令包装在 sh .

    sh """
    docker build . -t ${imageTag}
    docker push ${imageTag}
    """