Странная проблема, с которой я столкнулся: я запускаю свое ведомое устройство как образ докера, иногда как докер-контейнер на главном узле, а иногда на ECS (Fargate) с помощью плагина Amazon Elastic Container Service.
Я запускаю этофрагмент кода ниже
publishLambda(
awsAccessKeyId:"${env.AWS_ACCESS_KEY_ID}",
awsSecretKey:"${env.AWS_SECRET_ACCESS_KEY}",
awsRegion:"${lambda_config.region}",
functionARN:lambda_name,
functionAlias:"DEV"
)
Работает нормально, когда я запускаю ведомое устройство как докер-контейнер, но при работе в ECS я получаю следующую ошибку после того, как лямбда-публикация успешно опубликована .Я подозреваю, что это что-то с hudson.remoting api при попытке получить ответ по сети.
IMO hudson.remoting должна вести себя одинаково, независимо от того, где работают контейнеры.Как я получаю такие несоответствия?
java.io.NotSerializableException: com.xti.jenkins.plugin.awslambda.publish.LambdaPublishServiceResponse в java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.javaOio.io.io.io.84)writeObject (ObjectOutputStream.java:348) в hudson.remoting.UserRequest._serialize (UserRequest.java:264) в hudson.remoting.UserRequest.serialize (UserRequest.java:273) Также: hudson.remoting.Channel $ CallSiteStackTrace:к соединению JNLP4-соединение от ec2-18-224-68-207.us-east-2.compute.amazonaws.com/18.224.68.207:40038 в hudson.remoting.Channel.attachCallSiteStackTrace (Channel.java:1741) в hudson.remoting.UserRequest $ ExceptionResponse.retrieve (UserRequest.java:357) в hudson.remoting.Channel.call (Channel.java:955) в com.xti.jenkins.plugin.awslambda.publish.LambdaPublishBuildStep.perform (LambdaPublishBuildStep.java: 58) в com.xti.jenkins.plugin.awslambda.publish.LambdaPublishBuildStep.perform (LambdaPublishBuildStep.java:46) в org.jenkinsci.plugins.workflow.steps.CoreStep $ Execution.run (CoreStep.java:80) в org.jenkinsci.plugins.workflow.steps.CoreStep $ Execution.run (CoreStep.java:67) в org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda $ start $ 0 (SynchronousNonBlockingStepExecution.java:47) в java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) в java.util.concurrent.runk)java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)
1018Причина: java.io.IOException: Невозможно сериализовать com.xti.jenkins.plugin.awslambda.publish.LambdaPublishServiceResponse@4ec0e00f в hudson.remoting.UserRequest.serialize (UserRequest.java:275) на hudson.remperform (UserRequest.java:223) в hudson.remoting.UserRequest.perform (UserRequest.java:54) в hudson.remoting.Request $ 2.run (Request.java:369) в hudson.remoting.InterceptingExecutorService $ 1.call (InterceptingExecutorService.java:72) в java.util.concurrent.FutureTask.run (FutureTask.java:266) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecuj) .jpgconcurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в hudson.remoting.Engine $ 1.lambda $ newThread $ 0 (Engine.java:93)
Причина:java.lang.RuntimeException в com.xti.jenkins.plugin.awslambda.publish.LambdaPublishBuildStep.perform (LambdaPublishBuildStep.java:66) в com.xti.jenkins.plugin.awslambda.publish.Bub.pubtebLubda) в org.jenkinsci.plugins.workflow.steps.CoreStep $ Execution.run (CoreStep.java:80) в org.jenkinsci.plugins.workflow.steps.CoreStep $ Execution.run (CoreStep.java:67) в орг.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda $ start $ 0 (SynchronousNonBlockingStepExecution.java:47) в java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java: 511)в java.util.concurrent.FutureTask.run (FutureTask.java:266) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolExcecutor: 624) на java.lang.Thread.run (Thread.java:748) Закончено: НЕИСПРАВНОСТЬ