2017-09-27 8 views
0

J'ai plusieurs projets différents qui seront compilés dans Jenkins et seront téléchargés dans mon dépôt Nexus3. Pour cela j'utilise le NexusArtifcalUploader. Pour une raison quelconque, je reçois le message d'erreur suivant, bien que le code soit essentiellement copié à partir de la page du plugin du wiki Jenkins.Comment résoudre les "arguments nommés attendus" pour freeStyleJob?

java.lang.IllegalArgumentException: Expected named arguments but got [clientmoduleNexusArtifactUploaderJob, [email protected]] 
    at org.jenkinsci.plugins.workflow.cps.DSL.parseArgs(DSL.java:511) 
    at org.jenkinsci.plugins.workflow.cps.DSL.invokeDescribable(DSL.java:291) 
    at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:153) 
    at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108) 
    at sun.reflect.GeneratedMethodAccessor463.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    ... 

Mon Jenkinsfile appelle la méthode uploadToNexus j'ai créé qui crée freeStyleJobs:

def uploadToNexus(module) { 
    def groupId = "com.example" 
    def moduleVersions = [ 
      "client-module": "1.0.0-SNAPSHOT", 
      "server-module": "1.0.0-SNAPSHOT", 
    ] 

    def moduleVersion = moduleVersions.get(module) 
    def jobName = "${fixModuleName(module)}NexusArtifactUploaderJob" 

    echo "will run freeStyleJob ${jobName} now..." 
    freeStyleJob(jobName) { 
    steps { 
     nexusArtifactUploader { 
     nexusVersion('nexus3') 
     protocol('http') 
     nexusUrl('nexus:8081') 
     groupId(groupId) 
     version(moduleVersion) 
     repository('maven2_central') 
     credentialsId('nexus_admin') 
     artifact { 
      artifactId('${module}') 
      type('war') 
      classifier('debug') 
      file('${module}.war') 
     } 
     } 
    } 
    } 
} 

À ma connaissance freeStyleJob attend une chaîne que je passe, non? Qu'est-ce qui me manque et qui ne va pas?

Répondre