0
votes

Erreur du plugin Pipeline sur le pipeline Jenkins supereasy

J'exécute ce pipeline simple:

Started by user Paco
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /opt/bitnami/apps/jenkins/jenkins_home/workspace/tespipeline
[Pipeline] End of Pipeline
an exception which occurred:
    in field java.util.HashMap.loadFactor
    in object java.util.HashMap@660dfa72
    in field org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.closures
    in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@5f085500
    in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@5f085500
Caused: java.lang.IllegalAccessException: Class org.jboss.marshalling.river.RiverMarshaller can not access a member of class java.util.HashMap with modifiers "final"
    at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:102)
    at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:296)
    at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:288)
    at java.lang.reflect.Field.getFloat(Field.java:645)
    at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1028)
Caused: java.io.InvalidObjectException: Unexpected illegal access exception
    at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1037)
    at org.jboss.marshalling.river.RiverObjectOutputStream.defaultWriteObject(RiverObjectOutputStream.java:165)
    at java.util.HashMap.writeObject(HashMap.java:1360)
    at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.jboss.marshalling.reflect.JDKSpecific$SerMethods.callWriteObject(JDKSpecific.java:156)
    at org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:191)
    at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:976)
    at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
    at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
    at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
    at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
    at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58)
    at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:111)
    at org.jenkinsci.plugins.workflow.support.pickles.serialization.RiverWriter.lambda$writeObject$0(RiverWriter.java:144)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:136)
    at org.jenkinsci.plugins.workflow.support.pickles.serialization.RiverWriter.writeObject(RiverWriter.java:143)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgram(CpsThreadGroup.java:482)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgram(CpsThreadGroup.java:458)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgramIfPossible(CpsThreadGroup.java:445)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:372)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$200(CpsThreadGroup.java:83)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:244)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:232)
    at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:131)
    at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
    at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
    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

Et j'ai l'erreur suivante au travail:

node ('main') {
   echo 'Hello World'
}

Mon La version de Jenkins est la 2.164.1 (la plus récente), la version du pipeline que j'ai installée est la 2.6, mais j'ai également essayé une précédente.

J'ai aussi essayé avec google sans chance.

Une idée du problème?


2 commentaires

Le déclaratif fonctionne-t-il ou est-ce une erreur similaire à votre script?


Oui c'est le cas. J'ai une autre instance avec une ancienne sauvegarde et cela fonctionne. On dirait que quelque chose est lié à une nouvelle version du plugin Pipeline ou de Jenkins. Je vais essayer de trouver le problème en mettant à jour pas à pas les plugins ainsi que la version Jenkins.


3 Réponses :


0
votes

Tout d'abord, assurez-vous d'avoir déclaré un pipeline , puis vous pouvez utiliser les étapes , stage et étapes , enfin, lancez votre pipeline .

Je vous donne le code de test suivant ci-dessous.

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo 'Building..'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing..'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying....'
            }
        }
    }
}

Si vous avez besoin d'utiliser node, vous pouvez utilisez les exemples

J'espère que cela pourra vous aider!


1 commentaires

Le script de la question vise à être un pipeline scripté tel qu'il en a l'air.



0
votes

Votre script n'est pas une syntaxe de pipeline scriptée valide. Voir la documentation

Un nœud doit contenir une étape , puis les étapes

node('main'){
    stage('Print message'){
        echo 'Hello world!'
    }
}


1 commentaires

Merci pour la réponse, l'utilisation de ce code échoue également. Il ressemble à quelque chose de version de plugin ou peut-être de nouvelle version de Jenkins



0
votes

J'ai trouvé la solution, c'était un problème avec la permission de l'utilisateur au niveau SO. J'ai créé une nouvelle instance et y ai ajouté une sauvegarde sans changer l'autorisation de l'utilisateur de l'exécuteur jenkins, et cela fonctionne comme un charme.

Merci à tous pour vos réponses!


1 commentaires

Que signifie SO? Souvent, sur ce site, il représente le nom de ce site, StackOverflow. Mais probablement pas dans ce cas. J'ai une erreur similaire et je recherche un correctif. Le travail Jenkins échoue et la pile d'appels comprend des entrées similaires. Mais l'exception dans mon cas est en fait le débordement de pile.